ব্যান্ডটি x264 (বা ffmpeg, বা avconv) সহ ভিডিও ট্র্যাকের প্রতিস্থাপন


0

আমি বিভিন্ন কন্টেন্ট সঙ্গে। এমকিভি ফাইল একটি গুচ্ছ আছে, তাই আমি তাদের অডিও, সাবটাইটেল, অধ্যায় এবং সংযুক্তি বিষয়বস্তু সম্পর্কে জানি না। সাধারণ সূচক: তাদের সকলের একটি ভিডিও ট্র্যাক রয়েছে।

আমি ভিডিও ট্র্যাক প্রতিস্থাপন করতে চান কেবল এটির একটি পুনর্নির্মিত সংস্করণ সহ, বাকি ফাইলটি অডিও, সাবস, অধ্যায় এবং সংযুক্তিগুলি অক্ষত রাখে। এই কাজ করতে সবচেয়ে সহজ পদ্ধিতি হল উপায় কি? পূর্ববর্তী প্রশ্নগুলি সবসময় ফাইলের অন্যান্য সামগ্রীর সম্পর্কে ধারণা তৈরি করে, তাই সত্যিই প্রযোজ্য নয় - এছাড়াও, ব্যাচ মোড পছন্দসই।

x264, ffmpeg বা avconv সবগুলি ব্যবহার করা যেতে পারে যদি এটির মধ্যে অন্যটির তুলনায় কাজের জন্য আরও ভাল হয়।


আমি ইতিমধ্যে আপনার জন্য একটি উদাহরণ আছে, কিন্তু একটি ব্যাচ কমান্ড প্রদান করার জন্য আমার আরও তথ্যের প্রয়োজন। পুনরায় এনকোড করা সংস্করণটি ইতিমধ্যে বিদ্যমান থাকবে নাকি আপনি এটি পুনরায় এনকোড করতে চান এবং এক কমান্ডের সমস্ত পছন্দসই স্ট্রিমগুলিকে মুক্স করতে চান? এটি যদি ইতিমধ্যে বিদ্যমান থাকে তবে এটি মূল সম্পর্কিত কোথায় অবস্থিত? আপনার ওএস কি?
llogan

যথেষ্ট পরিষ্কার হচ্ছে না জন্য দুঃখিত। পুনরায় এনকোড করা সংস্করণটি বিদ্যমান নেই, আমি পুনরায় এনকোড করতে চাই এবং পরে পুনরায়-মোক্স করতে চাই। এক কমান্ড আদর্শ হবে। আমি লিনাক্স ব্যবহার করছি, তবে উইন্ডোজ একটি বিকল্প যা ডুয়াল বুট থেকেও। জিআইআইতে হাত দিয়ে, আমি এমভি ভিমের সাথে ভিডিও স্ট্রীমটি বের করে আনব, হ্যান্ডব্র্যাক দ্বারা এটি পুনরায় এনকোড করব এবং নতুন ভিডিওস্ট্রীমের সাথে একটি পরিবর্তিত এমএমভি তৈরি করতে আবার mkvmerge ব্যবহার করব।
emk2203

উত্তর:


1

একক উদাহরণ

ব্যবহার ffmpeg ভিডিও প্রবাহ (গুলি) পুনরায় এনকোড করতে এবং প্রবাহ কপি অন্য সবকিছু:

ffmpeg -i original.mkv -map 0 -c copy -c:v libx264 output.mkv
  • বিভিন্ন এক দেখুন এনকোডিং গাইড আপনি চান যাই হোক না কেন ফরম্যাটের তথ্যের জন্য।

  • প্রথম ইনপুট থেকে সমস্ত প্রবাহ, লেবেলযুক্ত 0 এবং এই ক্ষেত্রে শুধুমাত্র ইনপুট, সঙ্গে ম্যাপ করা হয় -map 0। অন্যথায় ডিফল্ট স্ট্রিম নির্বাচন প্রতি টাইপ এক প্রবাহ মানচিত্র হবে। উদাহরণস্বরূপ, যদি আপনার ইনপুটটিতে একাধিক অডিও স্ট্রিম থাকে তবে ব্যবহার করে -map 0 পরিবর্তে শুধু এক তাদের সব মানচিত্র হবে।


বাশ " লুপ জন্য "

বর্তমান ডিরেক্টরির মধ্যে সমস্ত MKV ফাইলগুলির উপরে উপরের হিসাবে এবং নামকরণ করা একটি ডিরেক্টরিতে তাদের আউটপুট outputdir:

mkdir outputdir
for i in *.mkv; do ffmpeg -i "$i" -map 0 -c copy -c:v libx264 outputdir/"${i%.mkv}.mkv"; done
  • অদ্ভুত খুঁজছেন "${i%.mkv}.mkv" ব্যবহার করছে পরামিতি বিস্তার । আপনার ক্ষেত্রে আপনি সহজেই ব্যবহার করতে পারে "$i", তবে আপনার ইনপুট কন্টেইনার ফরম্যাটগুলি যদি আপনার আউটপুট কন্টেইনার ফরম্যাটের চেয়ে আলাদা তবে এটি কার্যকর। উদাহরণস্বরূপ, প্যারামিটার সম্প্রসারণ ছাড়াই, এবং যদি আপনার ইনপুটগুলি এমকেভি এবং আউটপুট MP4 হয় তবে আউটপুটটি এমন কিছু নামকরণ করা শেষ হবে যা output.mkv.mp4

সুন্দর উত্তর। এখন কি সীমা অতিক্রম করতে হবে -আরআরএফ-প্যাসেট-টিউন সুইচ? অন্য কথায়, এটা কি খুব বিরল ক্ষেত্রে ছাড়া আমার সেরা ফলাফল দেবে? এবং একটি চূড়ান্ত জিনিস: আপনি অ্যানিমেশন -Tune অ্যানিমেশন ব্যবহার করার পরামর্শ দেবে?
emk2203

@ emk2203 আপনি ব্যবহার করতে হতে পারে -profile:v আপনি সীমিত ডিভাইসের জন্য এনকোডিং হয়। তা না হলে, -crf, -preset, এবং -tune আমার মতামত সংখ্যাগরিষ্ঠ এনকোডিং জন্য যথেষ্ট করা উচিত। -tune animation এনিমে জন্য একটি ভাল পছন্দ হবে।
llogan

আপনি যদি "বিশাল সংখ্যাগরিষ্ঠ" বলে থাকেন তবে কেবল -crf -reset-tune ব্যবহার করার সময় একটি ইঙ্গিত আছে না যথেষ্ট? কি উৎস উপাদান আরো জরিমানা-টিউন প্রয়োজন হবে?
emk2203
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.