কীভাবে এফএফএমপিইগ ব্যবহার করে ভিডিও থেকে সাবটাইটেল উত্তোলন করা যায়?


34

আমি .srtফাইল হিসাবে ভিডিও থেকে সাবটাইটেল উত্তোলনের চেষ্টা করছি , আমি নিম্নলিখিত কমান্ডটি ব্যবহার করেছি:

FFMPEG -i mytestmovie.mkv -vn -an -codec:s:0.1 srt sub.srt

তবে, অজানা বিকল্প হিসাবে আমি একটি ত্রুটি পেয়েছি codec:s:0:1 সুতরাং, আপনি আমাকে সঠিক আদেশ এবং কীভাবে .srtভিডিওতে ফাইল হিসাবে একটি উপশিরোনাম বের করতে পারেন বলতে পারেন ?


উমাইর: আপনি আমাকে কমান্ড প্রম্পটে বলবেন
বিজয়

আমি একই সমস্যা আছে। আপনি কি অবশেষে কাজ করতে পেরেছেন?
ম্যাক্সিম লেবেল

উত্তর:


51

সরল:

ffmpeg -i Movie.mkv -map 0:s:0 subs.srt
  • -i : ইনপুট ফাইল ইউআরএল / পথ।
  • -ম্যাপ : আউটপুট ফাইলের উত্স হিসাবে এক বা একাধিক ইনপুট স্ট্রিম নির্ধারণ করুন।
  • s: 0 : সাবটাইটেল স্ট্রিমটি নির্বাচন করুন।

2
এটি এম্বেডেড সাবটাইটেল সহ একটি এমপি 4 ফাইল নিয়ে আমার জন্য কাজ করেছিল।
রুবেন্স মারিজুজ্জো

11
এটি প্রথম সাবটাইটেল ট্র্যাকটি ডাউনলোড করবে। যদি বেশ কয়েকটি থাকে 0:s:1তবে দ্বিতীয়টি 0:s:2ডাউনলোড করতে, তৃতীয়টি ডাউনলোড করতে এবং আরও অনেক কিছু ব্যবহার করুন।
ফ্যাবিয়েন স্নাউয়ার্ট

5
@ জেএম 3 আপনি কি কোনও ফাইল থেকে সমস্ত সাবটাইটেল স্ট্রিমগুলি স্বয়ংক্রিয়ভাবে তাদের ভাষা শনাক্তকরণের নামকরণের নামে নামকরণের কোনও উপায় জানতে পারবেন (যেমন, ইঞ্জি, ফ্রে, ডট ইত্যাদি)?
Fr.

বড় এমকেভি কনটেইনার (~ 4 জিবি) থেকে নিষ্কাশন করার সময় কেন এত ধীর?
ব্যবহারকারী 25

আরও একবারে সাবটাইটেলগুলি একবারে বের করতে আপনাকে -mapপ্রতিটি ফাইলের প্যারামিটারগুলি নকল করতে হবে। এছাড়াও অন্তর্ভুক্ত -c copyযাতে এটি শুধু এটি প্রক্রিয়া চেষ্টা ছাড়া ফাইল চায়ের: ffmpeg -i Movie.mkv -c copy -map 0:s:0 subs.01.srt -c copy -map 0:s:1 subs.02.srt। যাইহোক, এটি দীর্ঘ সময় নিতে পারে কারণ উপশিরোনামের স্ট্রিমগুলির সমস্ত অংশ খুঁজে পেতে ffmpeg অবশ্যই পুরো ভিডিও ফাইলটি পড়তে হবে।
রাদেক পেচ

8

-codec:s:0:1ভুল. আপনি যদি ব্যবহার করেন -codec:s:0তবে ffmpeg প্রথম সাবটাইটেল স্ট্রিমটিকে আউটপুট এ যাওয়ার জন্য বর্ণিত কোডেক ব্যবহার করবে, যদি আপনি ব্যবহার করেন -codec:s:1তবে এটি এটি দ্বিতীয় উপশিরোনাম স্ট্রিম ইত্যাদির জন্য ব্যবহার করবে etc.

আপনি সমস্ত আউটপুট সাবটাইটেল স্ট্রিমগুলি নির্বাচন করতে বা তৃতীয় আউটপুট স্ট্রিমটি নির্বিশেষে তা চয়ন করতেও ব্যবহার -codec:sকরতে পারেন ।-codec:2

আপনি সম্ভবত বিভ্রান্ত হয়ে পড়েছেন কারণ -mapবিকল্পটি অন্যরকম আচরণ করে - সেখানে আপনাকে নির্বাচিত স্ট্রিমটি কোন ইনপুট থেকে আসে তা নির্বাচন করতে হবে। (সুতরাং, -map 0:s:0প্রথম ইনপুট থেকে প্রথম উপশিরোনামটি নিয়ে যাবে এবং আউটপুটটিতে এটি ফিড করবে)। যাইহোক, -mapআপনি ইনপুটগুলি থেকে কোন স্ট্রিমগুলি নিতে চান তা নির্বাচন করার জন্য; যদিও স্ট্র্যাপ ম্যাপিং ব্যবহার করা অন্যান্য অপশনগুলির বেশিরভাগগুলি নির্বাচিত হওয়ার পরে স্ট্রিমগুলিতে ব্যবহারের জন্য রয়েছে (সুতরাং আউটপুটে যাওয়ার পরে তারা কোন ইনপুট ফাইলটি রয়েছে তা নির্দিষ্ট করার দরকার নেই)।


অরিসপ: আমি নিম্নলিখিত কমান্ডটি ব্যবহার করব: \ FFMpeg_Lest> ffmpeg -i E: out রুটিন \ রুটিন.মেকভি -ভিএন-ম্যাপ 0: s: 0 srt E: E রুটিন \ sub.srt, এটি একটি ত্রুটি বলে মনে হচ্ছে i 'এসআরটি'র জন্য উপযুক্ত আউটপুট ফর্ম্যাটটি খুঁজে পেতে অক্ষম, আপনি কি আমাকে ভিডিওতে একটি সাবটাইটেল আহরণের জন্য আদেশ বলতে পারেন ...
বিজয়

2
চেষ্টা করুন: ffmpeg -i E:\Routine\routine.mkv -map 0:s:0 E:\Routine\sub.srt(ffmpeg সনাক্ত করা উচিত যে আপনি আউটপুট ফাইলের নাম থেকে
srt

আমি ব্যবহার করেছি: ffmpeg -i film.mp4 -vn -an -codec:s srt film.srtযে সমস্ত উপশিরোনাম srt ফাইলে অনুলিপি করা উচিত।
স্টুয়ার্ট

@ স্টার্ট এটি সমস্ত উপশিরোনাম উত্তোলন করে না
ব্যবহারকারীর 25

1
@ এভিলসপ -codec:sসমান -codec:s:0তাই এটি সমস্ত উপশিরোনাম নির্বাচন করে না ... এটি প্রথম পাঠ্য ট্র্যাকটি বের করবে
ব্যবহারকারী 25
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.