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.