-ম্যাপ 0 ব্যবহার করার সময় Ffmpeg স্ট্রিম হারাবে


0

উবুন্টু 14.04-এ ffmpeg ব্যবহার করে আমার একটি অদ্ভুত সমস্যা হয়েছিল। আমি একটি কমান্ড চালাচ্ছি

ffmpeg -i output2.avi -c:v h264 -minrate 2000k -maxrate 5000k -bufsize 2000k -profile:v high -level:v 4 -coder 1 -s 640x360 -bf 0 -pix_fmt yuv420p -r 25 -g 25 -c:a aac -ar 48k -b:a 321k -map 0 -y outpu.mp4

এটি কনসোলে এ জাতীয় স্বাভাবিক আউটপুট সরবরাহ করে (ইতিমধ্যে-লোগেভেল ভার্বোস সহ):

ffmpeg version N-79004-g2e6636a Copyright (c) 2000-2016 the FFmpeg developers


 built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04)
  configuration: --prefix=/home/ngoral/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/ngoral/ffmpeg_build/include --extra-ldflags=-L/home/ngoral/ffmpeg_build/lib --bindir=/home/ngoral/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.101 / 57. 28.101
  libavformat    57. 28.101 / 57. 28.101
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
[avi @ 0x2707800] parser not found for codec dvvideo, packets or times may be invalid.
    Last message repeated 1 times
Input #0, avi, from 'output2.avi':
  Metadata:
    encoder         : Lavf57.28.101
  Duration: 00:00:20.04, start: 0.000000, bitrate: 28911 kb/s
    Stream #0:0: Video: dvvideo, 1 reference frame (dvsd / 0x64737664), yuv420p, 720x576 [SAR 16:15 DAR 4:3], 28684 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 192 kb/s
    Stream #0:2: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 64 kb/s
    Stream #0:3: Audio: aac ([255][0][0][0] / 0x00FF), 48000 Hz, stereo, fltp, 117 kb/s
Matched encoder 'libx264' for codec 'h264'.
[graph 0 input from stream 0:0 @ 0x2784f60] w:720 h:576 pixfmt:yuv420p tb:1/25 fr:25/1 sar:16/15 sws_param:flags=2
[scaler for output stream 0:0 @ 0x2749d20] w:640 h:360 flags:'bicubic' interl:0
[scaler for output stream 0:0 @ 0x2749d20] w:720 h:576 fmt:yuv420p sar:16/15 -> w:640 h:360 fmt:yuv420p sar:3/4 flags:0x4
[graph 1 input from stream 0:1 @ 0x27a4fc0] tb:1/48000 samplefmt:s16p samplerate:48000 chlayout:0x3
[audio format for output stream 0:1 @ 0x27a5380] auto-inserting filter 'auto-inserted resampler 0' between the filter 'Parsed_anull_0' and the filter 'audio format for output stream 0:1'
[auto-inserted resampler 0 @ 0x27a7ae0] ch:2 chl:stereo fmt:s16p r:48000Hz -> ch:2 chl:stereo fmt:fltp r:48000Hz
[graph 2 input from stream 0:2 @ 0x27a6620] tb:1/48000 samplefmt:s16p samplerate:48000 chlayout:0x3
[audio format for output stream 0:2 @ 0x27a6440] auto-inserting filter 'auto-inserted resampler 0' between the filter 'Parsed_anull_0' and the filter 'audio format for output stream 0:2'
[auto-inserted resampler 0 @ 0x27b6be0] ch:2 chl:stereo fmt:s16p r:48000Hz -> ch:2 chl:stereo fmt:fltp r:48000Hz
[graph 3 input from stream 0:3 @ 0x27b6560] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x3
[libx264 @ 0x27889a0] using SAR=3/4
[libx264 @ 0x27889a0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x27889a0] profile High, level 4.0
[libx264 @ 0x27889a0] 264 - core 148 r2643 5c65704 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=25 keyint_min=2 scenecut=40 intra_refresh=0 rc_lookahead=25 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=5000 vbv_bufsize=2000 crf_max=0.0 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'outpu.mp4':
  Metadata:
    encoder         : Lavf57.28.101
    Stream #0:0: Video: h264 (libx264), -1 reference frame ([33][0][0][0] / 0x0021), yuv420p, 640x360 [SAR 3:4 DAR 4:3], q=-1--1, max. 5000 kb/s, 25 fps, 12800 tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.28.101 libx264
    Side data:
      cpb: bitrate max/min/avg: 5000000/0/0 buffer size: 2000000 vbv_delay: -1
    Stream #0:1: Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, fltp, 321 kb/s
    Metadata:
      encoder         : Lavc57.28.101 aac
    Stream #0:2: Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, fltp, 321 kb/s
    Metadata:
      encoder         : Lavc57.28.101 aac
    Stream #0:3: Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, fltp, 321 kb/s
    Metadata:
      encoder         : Lavc57.28.101 aac
Stream mapping:
  Stream #0:0 -> #0:0 (dvvideo (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (mp3 (native) -> aac (native))
  Stream #0:2 -> #0:2 (mp3 (native) -> aac (native))
  Stream #0:3 -> #0:3 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
*** 3 dup!
No more output streams to write to, finishing.e=00:00:19.84 bitrate= 359.9kbits/s dup=3 drop=0 speed=1.15x
frame=  501 fps= 29 q=-1.0 Lsize=    1792kB time=00:00:20.05 bitrate= 732.2kbits/s dup=3 drop=0 speed=1.14x
video:440kB audio:1331kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.155376%
Input file #0 (output2.avi):
  Input stream #0:0 (video): 498 packets read (71712000 bytes); 498 frames decoded;
  Input stream #0:1 (audio): 834 packets read (480384 bytes); 834 frames decoded (960768 samples);
  Input stream #0:2 (audio): 835 packets read (160320 bytes); 835 frames decoded (961920 samples);
  Input stream #0:3 (audio): 0 packets read (0 bytes); 0 frames decoded (0 samples);
  Total: 2167 packets (72352704 bytes) demuxed
Output file #0 (outpu.mp4):
  Output stream #0:0 (video): 501 frames encoded; 501 packets muxed (451055 bytes);
  Output stream #0:1 (audio): 939 frames encoded (960768 samples); 940 packets muxed (724261 bytes);
  Output stream #0:2 (audio): 940 frames encoded (961920 samples); 941 packets muxed (639072 bytes);
  Output stream #0:3 (audio): 0 frames encoded (0 samples); 0 packets muxed (0 bytes);
  Total: 2382 packets (1814388 bytes) muxed
[libx264 @ 0x27889a0] frame I:21    Avg QP:15.30  size:  8718
[libx264 @ 0x27889a0] frame P:480   Avg QP:24.52  size:   557
[libx264 @ 0x27889a0] mb I  I16..4: 20.4% 55.5% 24.1%
[libx264 @ 0x27889a0] mb P  I16..4:  0.0%  0.1%  0.0%  P16..4:  7.6%  3.7%  1.7%  0.0%  0.0%    skip:86.8%
[libx264 @ 0x27889a0] 8x8 transform intra:56.3% inter:50.3%
[libx264 @ 0x27889a0] coded y,uvDC,uvAC intra: 42.0% 39.5% 27.5% inter: 2.6% 1.4% 0.0%
[libx264 @ 0x27889a0] i16 v,h,dc,p: 36% 52%  3% 10%
[libx264 @ 0x27889a0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 56% 20% 14%  2%  1%  1%  2%  2%  2%
[libx264 @ 0x27889a0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 42% 26%  7%  4%  3%  4%  5%  5%  4%
[libx264 @ 0x27889a0] i8c dc,h,v,p: 66% 13% 17%  4%
[libx264 @ 0x27889a0] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x27889a0] ref P L0: 68.1% 11.5% 13.9%  6.5%
[libx264 @ 0x27889a0] kb/s:179.78
[aac @ 0x2747da0] Qavg: 62719.090
[aac @ 0x2748b20] Qavg: 64509.496
[aac @ 0x27498a0] Qavg: -nan

দেখে মনে হচ্ছে এটি সমস্ত 3 অডিওস্ট্রিমে আউটপুট করে তবে আমি তা করি

ffmpeg -loglevel verbose -i outpu.mp4

এবং মাত্র ২ টি অডিওস্ট্রিম পান:

ffmpeg version N-79004-g2e6636a Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04)
  configuration: --prefix=/home/ngoral/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/ngoral/ffmpeg_build/include --extra-ldflags=-L/home/ngoral/ffmpeg_build/lib --bindir=/home/ngoral/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.101 / 57. 28.101
  libavformat    57. 28.101 / 57. 28.101
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'outpu.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.28.101
  Duration: 00:00:20.06, start: 0.021333, bitrate: 731 kb/s
    Stream #0:0(und): Video: h264 (High), 3 reference frames (avc1 / 0x31637661), yuv420p, 640x360 (640x368) [SAR 3:4 DAR 4:3], 180 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 289 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
    Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 254 kb/s
    Metadata:
      handler_name    : SoundHandler

এতে দোষ কী? এটি আমার উইন মেশিনে, উবুন্টু সহ ভার্চুয়াল মেশিনে দুর্দান্ত কাজ করে তবে বাস্তব উবুন্টুতে এটি যেমন আচরণ করে তেমনি এটি কার্যকর হয়। তোমার কোন ধারনা আছে? ধন্যবাদ!

উত্তর:


1

আপনার ইনপুট ফাইলটি তৃতীয় অডিও স্ট্রিমটি বৈধ কিনা তা পরীক্ষা করে দেখুন। আপনার ffmpeg এনকোড আউটপুট বলে।

Input stream #0:3 (audio): 0 packets read (0 bytes); 0 frames decoded (0 samples);

এবং অতঃপর

Output stream #0:3 (audio): 0 frames encoded (0 samples); 0 packets muxed (0 bytes);

মাত্র ২ য় স্ট্রিমটি অনুলিপি করুন এবং দেখুন এটি কার্যকর হয় কিনা

ffmpeg -i output2.avi -c copy -map 0:a:2 test.avi

ওহ, আমি এটি উল্লেখ করিনি! এবং আমি কীভাবে এটি পরীক্ষা করতে পারি? আমি কেবল জানিffmpeg -i output2.avi

আমি যে কমান্ডটি দিয়েছি তা চালান এবং আউটপুটটি খেলুন।
জ্ঞান

দুঃখিত, আপনার উত্তর সংস্করণ মিস করুন। Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)এটা কি বলেছিল। দেখে মনে হচ্ছে ইনপুট ফাইলটি খারাপভাবে এনকোড করা আছে তবে কেন তা বুঝতে পারি না। কমান্ড সহ এটি তিনটি ফাইল থেকে এনকোড করা হয়েছিল ffmpeg -i input1.avi -i audio1.mp3 -t 00:00:20 -i audio2.aac -t 00:00:20 -c copy -map 0 -map 1 -map 2 -y output2.avi। এবং আবারও: উইন এ আপনার কমান্ডটি কোনও সমস্যা ছাড়াই চলেছিল

ইন -t 00:00:20 -i audio2.aac -t 00:00:20, প্রথম tপ্যারামিটার প্রয়োজন হয় না।
জ্ঞান

হ্যাঁ, তারপরে এটি ভাল কাজ করেছে! এবং কিভাবে এটি ব্যাখ্যা করা যেতে পারে? দুটি জিনিসই: যে কীটির -tপ্রয়োজন নেই এবং উইন এটি ঠিকভাবে কাজ করে?
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.