Ffmpeg অডিও স্টেরিও কেবল বাম চ্যানেল ব্যবহার করে মনোতে


12

আমি একটি '.এমটিএস' রেকর্ডের (ভিডিও) ভিডিও অংশগুলি নিষ্কাশন করতে নিম্নলিখিত কমান্ডটি ব্যবহার করি।

ffmpeg -i 00402.MTS -s 1280x720 -r 25 -ss 0:00:05.38608 -vcodec libxvid -qscale:v 2 -acodec ac3 -ar 48000 -ab 256k -t 0:00:06.613917 m001_mono.avi

অডিও স্ট্রিমটি স্টেরিও তবে ডান চ্যানেলটি কেবল শব্দ রেকর্ড করেছে। ইনপুট সম্পর্কিত তথ্য এখানে:

Stream #0.0[0x1011]: Video: h264 (High), yuv420p, 1440x1080 [PAR 4:3 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0.1[0x1100]: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s

আমি আউটপুটটির অডিও স্ট্রিমটি মনো হতে হবে (কেবলমাত্র মূল বাম চ্যানেল সহ)। আমি ইতিমধ্যে '-ac 1' বিকল্পটি ব্যবহার করে পরীক্ষা করেছি, তবে এই ক্ষেত্রে দুটি চ্যানেল একীভূত হয়ে গেছে এবং আমি ~ 6 ডিবি লাভ হারাচ্ছি।

ডান চ্যানেল এবং মনো অডিও স্ট্রিমের সাথে আউটপুট ফেলে দেওয়ার জন্য আমার কোন বিকল্পটি ব্যবহার করা উচিত?

সম্পাদনা: মানচিত্রের চ্যানেল বিকল্পের সাথে ffmpeg আউটপুট

/home/eric/buildsys/ffmpeg-2.0.1/ffmpeg -i 00402.MTS -s 1280x720 -r 25 -ss 0:00:05.38608    -vcodec libxvid -qscale:v 2 -acodec ac3 -ar 48000 -ab 256k -t 0:00:06.61391 -map_channel -1 -map_channel 0.1.0 m001_test.avi
ffmpeg version 2.0.1 Copyright (c) 2000-2013 the FFmpeg developers
 built on Sep 24 2013 05:31:18 with gcc 4.8 (Debian 4.8.1-10)
configuration: --extra-cflags=-I../static/include --extra-ldflags='-L../static/lib -static' --enable-gpl --enable-version3 --enable-static --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --disable-ffserver
libavutil      52. 38.100 / 52. 38.100
libavcodec     55. 18.102 / 55. 18.102
libavformat    55. 12.100 / 55. 12.100
libavdevice    55.  3.100 / 55.  3.100
libavfilter     3. 79.101 /  3. 79.101
libswscale      2.  3.100 /  2.  3.100
libswresample   0. 17.102 /  0. 17.102
libpostproc    52.  3.100 / 52.  3.100
Input #0, mpegts, from '00402.MTS':
Duration: 00:01:18.25, start: 0.455556, bitrate: 12217 kb/s
Program 1 
Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 256 kb/s
File 'm001_test.avi' already exists. Overwrite ? [y/N] y
-map_channel is forwarded to lavfi similarly to -af pan=0x3:c1=c0.
[pan @ 0x248a560] This syntax is deprecated. Use '|' to separate the list items.
[pan @ 0x248a560] Pure channel mapping detected: M 0
Output #0, avi, to 'm001_test.avi':
Metadata:
ISFT            : Lavf55.12.100
Stream #0:0: Video: mpeg4 (libxvid) (xvid / 0x64697678), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 tbn, 25 tbc
Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 256 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libxvid)
Stream #0:1 -> #0:1 (ac3 -> ac3)
Press [q] to stop, [?] for help
frame=  166 fps= 23 q=2.0 Lsize=    4012kB time=00:00:06.64 bitrate=4950.3kbits/s    
video:3787kB audio:207kB subtitle:0 global headers:0kB muxing overhead 0.464949%

উত্তর:


11

আপনি ভিডিও স্ট্রিমটিকে পুনরায় এনকোড না করেই সরাসরি কোনও ভিডিও ফাইল সংশোধন করতে পারেন। তবে অডিও স্ট্রিমটি পুনরায় এনকোড করতে হবে।

মনোতে বাম চ্যানেল:

ffmpeg -i video.mp4 -map_channel 0.1.0 -c:v copy mono.mp4

স্টিরিও থেকে বাম চ্যানেল:

ffmpeg -i video.mp4 -map_channel 0.1.0 -map_channel 0.1.0 -c:v copy stereo.mp4

আপনি যদি সঠিক চ্যানেলটি ব্যবহার করতে চান তবে 0.1.1পরিবর্তে লিখুন 0.1.0।

Ffmpeg সংস্করণ 3.1.3 সঙ্গে কাজ করা।


ওরফে কীভাবে শ্যাডপ্লে রাইট চ্যানেল দুর্নীতি বাগ ঠিক করতে পারে
— পাইরোলিস্টিকাল

উল্লেখ করার মতো বিষয় হ'ল -c:a copyঅডিও সহ ব্যবহার করার সময় আপনার একক চ্যানেলের সরাসরি অনুলিপি থাকা সত্ত্বেও পরিবর্তন করা হবে না।
— টার্মিল0 রা

4

নীচে ffmpeg সংস্করণ 2.4.1-টেসাস সহ একটি নিশ্চিত কাজের উদাহরণ রয়েছে:

ffmpeg -i stereo.wav -map_channel 0.0.0 left.wav

এফএফএমপিইগির অডিও চ্যানেল পৃষ্ঠায় আরও তথ্য ।


স্টিরিওতে ফিরে যাওয়ার অতিরিক্ত পদক্ষেপের প্রয়োজন এমন কারও জন্য বিটিডব্লিউ, তবে উভয় চ্যানেলই পূর্ণ পরিমাণে থাকবে (যেমন, মূলত বাম চ্যানেলটি ডান চ্যানেলের উপরের অনুলিপি করা), আপনি করতে পারেনffmpeg -i inputfile.wav -map_channel 0.0.0 -map_channel 0.0.0 outputfile.wav
— কেভ

2

Ffmpeg দিয়ে অডিও চ্যানেলগুলি পরিচালনা করে

চ্যানেলটি নিঃশব্দ করুন Chapter

এই উদাহরণটি প্রথম চ্যানেলটি (বাম চ্যানেলটি) নিঃশব্দ করবে তবে দ্বিতীয় চ্যানেলটি এইভাবে রাখবে:

ffmpeg -i stereo.wav -map_channel -1 -map_channel 0.0.1 output.wav

আপনার ক্ষেত্রে ডান চ্যানেলটি নিঃশব্দ করা দরকার। ঠিক আছে?


অপরিচিত বিকল্প 'মানচিত্র_চ্যানেল'।
— এরিক

1
@ এরিক আমি অনুমান করছি (যেহেতু আপনি আউটপুটটি অন্তর্ভুক্ত করেননি) আপনার ffmpeg সংস্করণটি অনেক পুরানো, বা এটি আসলে লিবাভ থেকে এবং এফএফপিপেগের নয় । আরও নতুন দিয়ে চেষ্টা করুন: ffmpeg.org/download.html
— 16:34

@ আর্চারগোডসন - আমরা কি একই ফ্যানফ্যাম্পেগ কম্যাম্যান্ডটি পরিবর্তন করে নিঃশব্দ চ্যানেলটি সক্রিয় করতে পারি
— প্রকাশ ভি হলকার

2

আমি Ffmpeg (২.০.১) এর শেষ সংস্করণটি ব্যবহার করে সমস্যার সমাধান করেছি। নিম্নলিখিত কমান্ড লাইনটি কাজ করে:

/home/eric/buildsys/ffmpeg-2.0.1/ffmpeg -i 00402.MTS -s 1280x720 -ss 0: 00: 05.38608 -vcodec libxvid -qscale: v 2 -acodec ac3 -ar 48000 -ab 256k -t 0: 00: 06.61391 -এফ প্যান = 1: সি0 = সি0 এম 1001_মনো.এভি

বিটিডব্লিউ, এই পোস্টটি খুব শিক্ষামূলক ছিল!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.