[FFmpeg-user] amerge problem with 2-pass encoding

Alex doenerbudenchef at yahoo.de
Wed Jun 26 15:26:20 CEST 2013


Hi all,

after I solved the quoting problem I have a new one. I want to encode a mxf
video file with two seperate audio channels (mono) to one stereo channel. I
have found in the ffmpeg documentation that I can use the option
'-filter_complex "[0:1] [0:2] amerge"' for that. When I use it without
2-pass everything works fine. With 2-pass encoding I get the following:

Command:

ffmpeg -y -i test.mxf -filter:v yadif -s "1920x1080" -aspect 16:9 -r 25 -b:v
8000k -bt 8000k -vcodec libx264 -pix_fmt yuv420p -f mp4 -pass 1
-fastfirstpass 1 -an -ss 00:00:00 test.mp4 && ffmpeg -y -i test.mxf
-filter_complex "[0:1] [0:2] amerge" -filter:v yadif -s "1920x1080" -aspect
16:9 -r 25 -b:v 8000k -bt 8000k -vcodec libx264 -pix_fmt yuv420p -f mp4
-pass 2 -fastfirstpass 0 -strict experimental -c:a aac -b:a 320k -ac 2 -ar
44100 -ss 00:00:00 test.mp4

Output:

C:\video_testing>ffmpeg -y -i test.mxf -filter:v yadif -s "1920x1080"
-aspect 16:9 -r 25 -b:v 8000k -bt 8000k -vcodec libx264 -pix_fmt yuv420p -f
mp4 -pass 1 -fastfirstpass 1 -an -ss 00:00:00 test.mp4 && ffmpeg -y -i
test.mxf -filter_complex "[0:1] [0:2] amerge" -filter:v y
 -s "1920x1080" -aspect 16:9 -r 25 -b:v 8000k -bt 8000k -vcodec libx264
-pix_fmt yuv420p -f mp4 -pass 2 -fastfirstpass 0 -strict experimental -c:a
aac -b:a 320k -ac 2 -ar 44100 -ss 00:00:00 test.mp4
ffmpeg version N-54207-ge59fb3f Copyright (c) 2000-2013 the FFmpeg
developers
  built on Jun 25 2013 21:55:00 with gcc 4.7.3 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enable-iconv --enable-libass --enable-libbluray
--enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc
--enable-libmodplug -
ble-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libopenjpeg --enable-libopus --enable-librtmp
--enable-libschroedinger --enable-libsoxr --enable-libspeex
--enable-libtheora --enable-libtwolame --enable-libvo-aacenc
--enable-libvo-amrwbenc --enable-libvorbis --enable
vpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 37.101 / 52. 37.101
  libavcodec     55. 17.100 / 55. 17.100
  libavformat    55. 10.100 / 55. 10.100
  libavdevice    55.  2.100 / 55.  2.100
  libavfilter     3. 77.101 /  3. 77.101
  libswscale      2.  3.100 /  2.  3.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  3.100 / 52.  3.100
[mxf @ 00000000002dd920] broken or empty index
Guessed Channel Layout for  Input Stream #0.1 : mono
Guessed Channel Layout for  Input Stream #0.2 : mono
Guessed Channel Layout for  Input Stream #0.3 : mono
Guessed Channel Layout for  Input Stream #0.4 : mono
Input #0, mxf, from 'test.mxf':
  Metadata:
    uid             : 32b8dc81-dd55-4bfa-851f-5dacc3e2cef9
    generation_uid  : cd485d3f-1663-4afc-a8a2-a01ee72262e5
    company_name    : SONY
    product_name    : XDCAM Transfer
    product_version : 650
    application_platform: SONY MXF Development Kit (MacOS X)
    product_uid     : 060e2b34-0401-0103-0e06-012002410200
    modification_date: 2013-03-18 10:42:29
    timecode        : 01:00:00:00
  Duration: 00:03:17.08, start: 0.000000, bitrate: 55330 kb/s
    Stream #0:0: Video: mpeg2video (4:2:2), yuv422p, 1920x1080 [SAR 1:1 DAR
16:9], 25 fps, 25 tbr, 25 tbn, 50 tbc
    Stream #0:1: Audio: pcm_s24le, 48000 Hz, mono, s32, 1152 kb/s
    Stream #0:2: Audio: pcm_s24le, 48000 Hz, mono, s32, 1152 kb/s
    Stream #0:3: Audio: pcm_s24le, 48000 Hz, mono, s32, 1152 kb/s
    Stream #0:4: Audio: pcm_s24le, 48000 Hz, mono, s32, 1152 kb/s
[libx264 @ 00000000024a6640] using SAR=1/1
[libx264 @ 00000000024a6640] using cpu capabilities: MMX2 SSE2Fast SSSE3
SSE4.2 AVX
[libx264 @ 00000000024a6640] profile Main, level 4.0
[libx264 @ 00000000024a6640] 264 - core 133 r2334 a3ac64b - H.264/MPEG-4 AVC
codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options:
cabac=1 ref=1 deblock=1:0:0 analyse=0x1:0 me=dia subme=2 psy=1
psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0
cqm=0 dead
=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 lookahead_threads=2
sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0
constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1
weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40
intra_refresh=0 rc_lookahea
 rc=abr mbtree=1 bitrate=8000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69
qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'test.mp4':
  Metadata:
    uid             : 32b8dc81-dd55-4bfa-851f-5dacc3e2cef9
    generation_uid  : cd485d3f-1663-4afc-a8a2-a01ee72262e5
    company_name    : SONY
    product_name    : XDCAM Transfer
    product_version : 650
    application_platform: SONY MXF Development Kit (MacOS X)
    product_uid     : 060e2b34-0401-0103-0e06-012002410200
    modification_date: 2013-03-18 10:42:29
    timecode        : 01:00:00:00
    encoder         : Lavf55.10.100
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p,
1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, pass 1, 8000 kb/s, 12800 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video -> libx264)
Press [q] to stop, [?] for help
[mpeg2video @ 00000000002d78e0] warning: first frame is no keyframe
    Last message repeated 1 times
frame= 4927 fps= 50 q=-1.0 Lsize=  199758kB time=00:03:17.00
bitrate=8306.7kbits/s
video:199710kB audio:0kB subtitle:0 global headers:0kB muxing overhead
0.023822%
[libx264 @ 00000000024a6640] frame I:68    Avg QP:11.91  size:125663
[libx264 @ 00000000024a6640] frame P:3189  Avg QP:15.79  size: 51064
[libx264 @ 00000000024a6640] frame B:1670  Avg QP:16.50  size: 19829
[libx264 @ 00000000024a6640] consecutive B-frames: 40.4% 41.7%  4.6% 13.3%
[libx264 @ 00000000024a6640] mb I  I16..4: 58.1%  0.0% 41.9%
[libx264 @ 00000000024a6640] mb P  I16..4: 28.4%  0.0%  0.0%  P16..4: 38.6% 
0.0%  0.0%  0.0%  0.0%    skip:33.0%
[libx264 @ 00000000024a6640] mb B  I16..4:  5.7%  0.0%  0.0%  B16..8: 27.1% 
0.0%  0.0%  direct:16.3%  skip:50.9%  L0:38.1% L1:43.3% BI:18.6%
[libx264 @ 00000000024a6640] final ratefactor: 17.09
[libx264 @ 00000000024a6640] coded y,uvDC,uvAC intra: 50.8% 57.2% 33.5%
inter: 21.5% 22.4% 3.5%
[libx264 @ 00000000024a6640] i16 v,h,dc,p: 39% 24% 29%  8%
[libx264 @ 00000000024a6640] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 30% 21% 14%  6% 
6%  7%  5%  6%  5%
[libx264 @ 00000000024a6640] i8c dc,h,v,p: 61% 19% 17%  3%
[libx264 @ 00000000024a6640] Weighted P-Frames: Y:1.6% UV:0.7%
[libx264 @ 00000000024a6640] kb/s:8301.30
ffmpeg version N-54207-ge59fb3f Copyright (c) 2000-2013 the FFmpeg
developers
  built on Jun 25 2013 21:55:00 with gcc 4.7.3 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enable-iconv --enable-libass --enable-libbluray
--enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc
--enable-libmodplug -
ble-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libopenjpeg --enable-libopus --enable-librtmp
--enable-libschroedinger --enable-libsoxr --enable-libspeex
--enable-libtheora --enable-libtwolame --enable-libvo-aacenc
--enable-libvo-amrwbenc --enable-libvorbis --enable
vpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 37.101 / 52. 37.101
  libavcodec     55. 17.100 / 55. 17.100
  libavformat    55. 10.100 / 55. 10.100
  libavdevice    55.  2.100 / 55.  2.100
  libavfilter     3. 77.101 /  3. 77.101
  libswscale      2.  3.100 /  2.  3.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  3.100 / 52.  3.100
[mxf @ 00000000025abb80] broken or empty index
Guessed Channel Layout for  Input Stream #0.1 : mono
Guessed Channel Layout for  Input Stream #0.2 : mono
Guessed Channel Layout for  Input Stream #0.3 : mono
Guessed Channel Layout for  Input Stream #0.4 : mono
Input #0, mxf, from 'test.mxf':
  Metadata:
    uid             : 32b8dc81-dd55-4bfa-851f-5dacc3e2cef9
    generation_uid  : cd485d3f-1663-4afc-a8a2-a01ee72262e5
    company_name    : SONY
    product_name    : XDCAM Transfer
    product_version : 650
    application_platform: SONY MXF Development Kit (MacOS X)
    product_uid     : 060e2b34-0401-0103-0e06-012002410200
    modification_date: 2013-03-18 10:42:29
    timecode        : 01:00:00:00
  Duration: 00:03:17.08, start: 0.000000, bitrate: 55330 kb/s
    Stream #0:0: Video: mpeg2video (4:2:2), yuv422p, 1920x1080 [SAR 1:1 DAR
16:9], 25 fps, 25 tbr, 25 tbn, 50 tbc
    Stream #0:1: Audio: pcm_s24le, 48000 Hz, mono, s32, 1152 kb/s
    Stream #0:2: Audio: pcm_s24le, 48000 Hz, mono, s32, 1152 kb/s
    Stream #0:3: Audio: pcm_s24le, 48000 Hz, mono, s32, 1152 kb/s
    Stream #0:4: Audio: pcm_s24le, 48000 Hz, mono, s32, 1152 kb/s
[Parsed_amerge_0 @ 000000000256aee0] No channel layout for input 1
[Parsed_amerge_0 @ 000000000256aee0] Input channel layouts overlap: output
layout will be determined by the number of distinct input channels
[libx264 @ 00000000025bae00] using SAR=1/1
[libx264 @ 00000000025bae00] using cpu capabilities: MMX2 SSE2Fast SSSE3
SSE4.2 AVX
[libx264 @ 00000000025bae00] ratecontrol_init: can't open stats file
Output #0, mp4, to 'test.mp4':
  Metadata:
    uid             : 32b8dc81-dd55-4bfa-851f-5dacc3e2cef9
    generation_uid  : cd485d3f-1663-4afc-a8a2-a01ee72262e5
    company_name    : SONY
    product_name    : XDCAM Transfer
    product_version : 650
    application_platform: SONY MXF Development Kit (MacOS X)
    product_uid     : 060e2b34-0401-0103-0e06-012002410200
    modification_date: 2013-03-18 10:42:29
    timecode        : 01:00:00:00
    Stream #0:0: Audio: aac, 44100 Hz, stereo, fltp, 320 kb/s
    Stream #0:1: Video: h264, yuv420p, 1920x1080 [SAR 1:1 DAR 16:9],
q=-1--1, pass 2, 8000 kb/s, 90k tbn, 25 tbc
Stream mapping:
  Stream #0:1 (pcm_s24le) -> amerge:in0 (graph 0)
  Stream #0:2 (pcm_s24le) -> amerge:in1 (graph 0)
  amerge (graph 0) -> Stream #0:0 (aac)
  Stream #0:0 -> #0:1 (mpeg2video -> libx264)
Error while opening encoder for output stream #0:1 - maybe incorrect
parameters such as bit_rate, rate, width or height


When I use the Option '-f lavfi -i "amovie=tangled.mxf:si=1 [a1];
amovie=tangled.mxf:si=2 [a2]; [a1][a2] amerge"' instead, the 2pass encoding
works fine. Are there any disadvantages using lavi instead of
filter_complex?

PS: I am running a Windows machine with ffmpeg version N-54207-ge59fb3f. I
also tried it on a linux system with ffmpeg version 1.2.1 without any
success.

Thanks in advance,
Alex



--
View this message in context: http://ffmpeg-users.933282.n4.nabble.com/amerge-problem-with-2-pass-encoding-tp4659734.html
Sent from the FFmpeg-users mailing list archive at Nabble.com.


More information about the ffmpeg-user mailing list