পাঠ্য-ভিত্তিক সাবটাইটেলগুলি
ffmpeg এর একটি subtitles
ফিল্টার রয়েছে যা ভিডিও স্ট্রিমে এসআরটি ফাইলগুলি বার্ন করতে পারে। আপনার --enable-libass
যদিও এর সাথে সংকলিত ffmpeg প্রয়োজন । আমি মনে করি না যে লিবাভের কিছু মিল রয়েছে, অন্তত উপলব্ধ ফিল্টারগুলি দেখে ।
আপনাকে প্রথমে সাবটাইটেলগুলি বের করতে হবে। -map 0:s:0
আউটপুটটির জন্য প্রথম সাবটাইটেল স্ট্রিমটি -c:s:0
নির্বাচন করে এবং এর জন্য কোডেক নির্বাচন করে - কেবল এটি সত্যই এসআরটি তা নিশ্চিত করার জন্য।
ffmpeg -i input.mkv -an -vn -map 0:s:0 -c:s:0 srt subtitles.srt
তারপরে, এগুলিকে পুড়িয়ে ফেলুন।
ffmpeg -i input.mkv -map 0:0 -map 0:1 -target pal-dvd -aspect 16:9 -q:v 1 \
-c:a mp2 -ac 2 -b:a 128k -filter:v subtitles=subtitles.srt output.mpg
বিঃদ্রঃ:
উপরের কমান্ডটি ধরে নিচ্ছে যে স্ট্রিমগুলি 0:0
এবং 0:1
আপনার ইনপুটটিতে যথাক্রমে ভিডিও এবং অডিও স্ট্রিম রয়েছে। আপনি যদি কেবল সাবটাইটেলগুলিকে আউটপুট ফাইলে অন্তর্ভুক্ত করা থেকে বিরত রাখতে চান তবে আপনি -sn
সেগুলি পুরোপুরি অক্ষম করতে যোগ করতে পারেন ।
আপনাকে এটিকে পরিবর্তন -ab
করতে হবে -b:a
, যেহেতু পূর্ববর্তীটি ffmpeg এর জন্য একটি বিদ্যমান নেই।
চিত্র-ভিত্তিক সাবটাইটেলগুলি
আপনার ইনপুটটিতে এইচডিএমভি পিজির মতো চিত্র-ভিত্তিক উপশিরোনাম রয়েছে (মনে হয় মেকএমকেভি সেগুলি তৈরি করছে এবং অন্যান্য সরঞ্জামগুলি সেগুলি বের করতে অক্ষম), আপনি এগুলিতে পোড়াতে ওভারলে ফিল্টারটি ব্যবহার করে দেখতে পারেন:
ffmpeg -i input.mkv -filter_complex "[0:v][0:s]overlay[v]" -map [v] -map 0:a \
-target pal-dvd -aspect 16:9 -q:v 1 -c:a mp2 -ac 2 -b:a 128k output.mpg
এটি FFmpeg উইকিতেও ব্যাখ্যা করা হয়েছে ।
যদি আপনার সাবটাইটেলগুলি মূল চলচ্চিত্রের চেয়ে ভিন্ন মাত্রায় আসে (যেমন ভিডিও স্ট্রিমটি ছোট করা হয়েছিল তবে সাবটাইটেলগুলি ছিল না), আপনি আকার নির্ধারণের বিকল্পটি ব্যবহার করে-canvas_size
দেখতে পারেন try