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


94

আমার একাধিক অডিও ট্র্যাক সহ একটি এমপি 4 ভিডিও ফাইল রয়েছে। আমি বাকী ট্র্যাকগুলি সরিয়ে কেবল একটি রাখতে চাই। আমি এটা কিভাবে করবো?


উত্তর:


110

ffmpeg -i file.mp4আপনার ফাইলটিতে কোন স্ট্রিম রয়েছে তা দেখতে প্রথমে দৌড়ুন। আপনার এমন কিছু দেখা উচিত:

Stream #0.0: Video: mpeg4, yuv420p, 720x304 [PAR 1:1 DAR 45:19], 23.98 tbr, 23.98 tbn, 23.98 tbc
Stream #0.1: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
Stream #0.2: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s

তারপরে ffmpeg -i file.mp4 -map 0:0 -map 0:2 -acodec copy -vcodec copy new_file.mp4ভিডিও স্ট্রিম এবং ২ য় অডিও স্ট্রিম অনুলিপি করতে চালান new_file.mp4


3
উইন্ডোজে এই কমান্ডটি ত্রুটি দিয়েছে Option map (set input stream mapping) cannot be applied to input file file.mp4 new_file.mp4 -- you are trying to apply an input option to an output file or vice versa. Move this option before the file it belongs to.: এটি সহজেই যুক্তিগুলির ffmpeg -i file.mp4 -map 0:0 -map 0:2 -acodec copy -vcodec copy new_file.mp4
ক্রমটি

ওএস এক্স
পারসসন

1
উবুন্টুতেও এটি একই!
টমমসো 25'14

এমকেভি ফর্ম্যাটের জন্যও কাজ করে
user3405291

1
আপনি আরও জেনেরিক বিকল্প ব্যবহার করতে পারেন -c copyঅডিও, ভিডিও জন্য অভিন্ন স্ট্রিম আছে কিন্তু উপশিরোনাম: ffmpeg -i input.mp4 -map 0:0 -map 0:2 -c copy output.mp4
ফুতাল

96

সম্পর্কিত সমস্যা an একটি এমপি 4 ফাইল থেকে সমস্ত অডিও ট্র্যাকগুলি সরানো এইভাবে করা যেতে পারে:

ffmpeg -i input_file.mp4 -vcodec copy -an output_file.mp4

1
এটি আমাকে ত্রুটি দেয় The encoder 'aac' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it.তবে আমি সেই পতাকাগুলি যুক্ত করেছি এবং এখনও এটি একই ...?
poshaughnessy


পুনরায় poshaughnessy এর মন্তব্য: কিছু তথ্য এখানে আছে বলে মনে হয় stackoverflow.com/questions/32931685/... আলোচনা ffmpeg সাম্প্রতিক সংস্করণ সুপারিশ "AAC পরীক্ষামূলক" কোনো সমস্যার সম্মুখীন না। সাধারণ নিয়ম হিসাবে এটি আপনার সমস্যার নির্ণয় করতে সহায়তা করে যদি আপনি যে সফ্টওয়্যারটি ব্যবহার করছেন তার সংস্করণ এবং কমান্ডের সঠিক বাক্য গঠন (আপনি পতাকাগুলি যুক্ত করার পরে) যা ত্রুটি দিয়েছে (সিএফ। ফ্রিসেকের উত্তর লোক। সিট)। )। এই নির্দিষ্ট ক্ষেত্রে, ইনপুট ফাইল থেকে ভিডিও তথ্যও সহায়ক হতে পারে।
গ্রেগ

8

স্ট্রিম নম্বরগুলি সনাক্ত করুন:

$ ffmpeg -i in.mp4
   ...
   Stream #0:0: Video: ...
   Stream #0:1: Audio: ...
   Stream #0:2: Audio: ...

-map _file_:_stream_প্রক্রিয়া এবং আউটপুট কোন স্ট্রিম নির্বাচন করতে ব্যবহার করুন

$ ffmpeg -i in.mp4 -map 0:0 -map 0:2 -vcodec copy -acodec copy out.mp4

দেখুন: https://ffmpeg.org/ffmpeg.html#Advanced-options


4

avidemuxঅভ্যন্তরীণভাবে কোন একটি অডিও ফাইল পরিচালনা করে তা আপনি চেষ্টা করতে পারেন (এবং সেইজন্য আপনাকে একটি নির্দিষ্ট ট্র্যাক নির্বাচন করতে বাধ্য করে)। আমি কখনও এটি এমপি 4 দিয়ে চেষ্টা করে দেখিনি তবে এটি অন্যান্য ফর্ম্যাটগুলির সাথে কাজ করে।


এত ভাল কাজ করে না। সম্ভবত এটি কোনও বাগ, তবে অডিওটি আবার ম্যাঙ্গলেড ফিরে আসে, যদিও এটি কাজ করে (বাকী অডিও ট্র্যাকগুলি সরিয়ে দেয়)।
tshepang

3

আমি বেশ কয়েকবার অ্যাভিডেমাক্স (জিইউআই) এবং ffmpeg (কনসোল) ব্যবহার করেছি।

অ্যাভিডেমাক্সে, আপনি "অডিও" -> প্রধান মেনুতে "ট্র্যাক নির্বাচন করুন" নির্বাচন করেন; তারপরে আপনাকে নতুন ফাইল হিসাবে ভিডিও সংরক্ষণ করুন।

মজার বিষয় যথেষ্ট, কিছু ক্ষেত্রে অ্যাভিডেমাক্স ffmpeg এর চেয়ে "ভাল" আউটপুট উত্পাদন করেছিল।

কেবলমাত্র যদি অ্যাভিডেমাক্স এবং ffmpeg মানক ফেডোরা লিনাক্সের সংগ্রহস্থলের মধ্যে থাকে। (আমি নিশ্চিত যে তারা অন্যান্য লিনাক্স স্বাদেও মান standard


1

-vnবা -anসমস্ত ভিডিও বা অডিও ট্র্যাকগুলি সরিয়ে ফেলবে। সরবরাহ -vn -acodec copyভিডিও সরিয়ে দেবে; -an -vcodec copyসমস্ত অডিও অপসারণ করা হবে।

-vcodec copyনির্দিষ্ট করে যে ffmpeg একটি বিদ্যমান অনুলিপি বিদ্যমান ভিডিও ট্র্যাক অনুলিপি করা উচিত (এবং এটির কোনও প্রসেসিং / এনকোডিং করবেন না)। যদি আপনি এটি নির্দিষ্ট না করেন তবে এটি এখনও কাজ করবে তবে ffmpeg বিদ্যমান ভিডিও ট্র্যাকটিকে পুনরায় এনকোড করতে পারে এবং অপারেশনটি আরও সিপিইউ ব্যবহার করবে এবং যথেষ্ট সময় নিতে পারে।


0

কমান্ড-লাইনে অ্যাভিডেমাক্স ব্যবহার করা।

(অ্যাভিডেমাক্স জিইউআই-তে, https://unix.stackexchange.com/a/85834/4319 উপরোক্ত হিসাবে, আপনি কেবল অডিও ট্র্যাকগুলি নির্বাচন / আনইলেক্ট করুন এবং ফাইলটি সংরক্ষণ করুন ((সমস্ত কিছুই নতুন এভিআইতে অনুলিপি করা হয়েছে)))

আমার ক্রিয়াকলাপগুলির জন্য স্পাইডারমনকি বা টিনিপি প্রজেক্টস হিসাবে কী ধরণের প্রকল্পগুলি সংরক্ষণ করা হয়েছে তা আমি দেখেছি এবং এটি প্রমাণিত হয়েছে যে স্পাইডারমনকি (জাভাস্ক্রিপ্ট) প্রকল্পে আমার যে অডিও ট্র্যাক নির্বাচন ক্রিয়াকলাপ নেই, তার অভাব রয়েছে, তবে টিনিপি (পাইথন) প্রকল্পটি নেই তাদের।

আমি সমস্ত সম্পর্কযুক্ত (অপ্রয়োজনীয় রেখার এক ডজন) সমস্ত অপসারণ করেছি এবং এটি আমার মধ্যে রয়েছে some_series.py:

#PY  <- Needed to identify #
#--automatically built--

adm = Avidemux()

adm.audioClearTracks()
adm.audioAddTrack(1)

এটি ট্র্যাক 1 ছেড়ে যায়, তবে 0 টি ড্রপ করে।

তারপরে আমি এই জাতীয় আদেশ সহ অনেকগুলি ফাইলের ব্যাচ রূপান্তরটি চালিয়েছি:

for f in *.avi; do avidemux3_cli --nogui --load "$f" --run ../some_series.py --save ../some_series/"${f%%.rus.eng.avi}".eng.avi --quit; done

এটি সমস্ত কিছু অনুলিপি করে তবে প্রয়োজনীয় অডিও ট্র্যাক বাদে সমস্ত ড্রপ করে।

কমান্ড-লাইন থেকে অ্যাভিডেমাক্স চালনার উপায়টি https://www.avidemux.org/admWiki/doku.php?id=tutorial:batch_processing থেকে শিখেছি , যদিও তারা পাইথন স্ক্রিপ্টগুলি উল্লেখ করে না, কেবল জেএসগুলি ( যা আমার পক্ষে কার্যকর হয়নি)।


-1

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


-2

ffmpegপ্রোগ্রাম দ্বারা প্রতিস্থাপিত করা হয়েছে avconvavconvএর সাথে খুব একই রকম ব্যবহার রয়েছে ffmpeg, সুতরাং এই পোস্টে সমস্ত কমান্ডের কিছু হতে পারে:

avconv <old ffpmeg command line options>

আপনি উবুন্টুতে থাকলে ইনস্টল করতে এই লিঙ্কটি অনুসরণ করুন avconv


-3

এফএফএমপিইজি আপনার জন্য সহায়ক সমাধান হতে পারে।

$ man ffmpeg

আমি একটি সংক্ষিপ্ত চেহারা ছিল, এবং এটি বেশ ঘন। আমি "অডিও" এবং "অডিও ট্র্যাক" অনুসন্ধান করেছি এবং কিছুই স্পষ্ট মনে হয়নি।
tshepang

@ শেপাপাং, "ট্র্যাক" দ্ব্যর্থহীন, সম্ভবত এ কারণেই এফএফম্পেগ আরও সুনির্দিষ্ট পরিভাষা পছন্দ করে। FFmpeg অডিওটিকে "স্ট্রিমস" এ আসার জন্য বিবেচনা করে, যার মধ্যে একটি বা একাধিক "চ্যানেল" রয়েছে। AFAICT, প্রতিটি চ্যানেল মনো হয়, স্ট্রিমটি বর্ণনা করে যে কোনও আউটপুট (গুলি) এটি ডিফল্টরূপে প্রেরণ করা উচিত (প্যানড)। যেমন একটি স্টেরিও স্ট্রিম দুটি চ্যানেল নিয়ে গঠিত, একটি সাউন্ডকার্ডের বাম আউটপুটটিতে ডিফল্টরূপে প্রেরণ করা হয় এবং অন্যটি ডিফল্টরূপে সাউন্ডকার্ডের ডান আউটপুটে প্রেরণ করা হয়।
সাম্পাব্লুকুপার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.