[FFmpeg-user] pan filter confusion

Carles Vila cvilad at gmail.com
Thu Nov 23 14:16:27 EET 2017


Hi I can't get my head around how the pan filter works, in theory all is
clear but in practice I fail with the result.

My input is a mov container with 1 ProRes stream and 1 audio stream with 12
channels.

I'd like to create a small stereo H264 file with a special combination of
those channels: Left channel should be ch0+ch1 mixed and Right channel =
ch2+ch3. (Channels 5-11 discarded)

So far I've been able to create a stereo mp4 file, but the audio is silent.

Could you please have a look at what I'm doing wrong?
Specifically I'm not sure what the [0:1] before the pan does, but it seems
to be necessary.



Carles$ ffmpeg -i MEAT01_01A_ENG_ME_DV_5.1_24HD_TC.mov -filter_complex
"[0:1]pan=2c|c0=c0+c1|c1=c2+c3" -s 640x360 -pix_fmt yuv420p proxy_stereo.mp4
ffmpeg version 3.1.4 Copyright (c) 2000-2016 the FFmpeg developers
  built with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
  configuration: --prefix=/Volumes/tempdisk/sw --as=yasm --enable-gpl
--enable-version3 --enable-pthreads --disable-ffplay --disable-ffserver
--disable-shared --enable-static --enable-libvpx --disable-decoder=libvpx
--enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis
--enable-libx264 --enable-libx265 --enable-libxvid --enable-zlib
--enable-avfilter --enable-fontconfig --enable-libfreetype --enable-libass
--enable-libvidstab --enable-filters --enable-postproc
--enable-runtime-cpudetect --disable-indev=qtkit --disable-indev=x11grab_xcb
  libavutil      55. 28.100 / 55. 28.100
  libavcodec     57. 48.101 / 57. 48.101
  libavformat    57. 41.100 / 57. 41.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 47.100 /  6. 47.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
'MEAT01_01A_ENG_ME_DV_5.1_24HD_TC.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 537199360
    compatible_brands: qt
    creation_time   : 2017-11-09 12:37:45
  Duration: 00:11:13.59, start: 0.000000, bitrate: 178829 kb/s
    Stream #0:0(eng): Video: prores (apch / 0x68637061),
yuv422p10le(bt709), 1920x1080, 164992 kb/s, SAR 1:1 DAR 16:9, 23.98 fps,
23.98 tbr, 24k tbn, 24k tbc (default)
    Metadata:
      creation_time   : 2017-11-09 12:37:45
      handler_name    : Apple Alias Data Handler
      encoder         : Apple ProRes 422 (HQ)
      timecode        : 00:00:00:00
    Stream #0:1(eng): Audio: pcm_s24le (lpcm / 0x6D63706C), 48000 Hz, 12
channels, s32 (24 bit), 13824 kb/s (default)
    Metadata:
      creation_time   : 2017-11-09 12:37:45
      handler_name    : Apple Alias Data Handler
      timecode        : 00:00:00:00
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default)
    Metadata:
      creation_time   : 2017-11-09 12:37:45
      handler_name    : Apple Alias Data Handler
      timecode        : 00:00:00:00
File 'proxy_stereo.mp4' already exists. Overwrite ? [y/N] y
[libx264 @ 0x7fbc33809800] using SAR=1/1
[libx264 @ 0x7fbc33809800] using cpu capabilities: MMX2 SSE2Fast SSSE3
SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x7fbc33809800] profile High, level 3.0
[libx264 @ 0x7fbc33809800] 264 - core 148 r2721 72d53ab - H.264/MPEG-4 AVC
codec - Copyleft 2003-2016 - 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=11
lookahead_threads=1 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=23
scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0
qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
[mp4 @ 0x7fbc3380ca00] Using AVStream.codec to pass codec parameters to
muxers is deprecated, use AVStream.codecpar instead.
    Last message repeated 1 times
Output #0, mp4, to 'proxy_stereo.mp4':
  Metadata:
    major_brand     : qt
    minor_version   : 537199360
    compatible_brands: qt
    encoder         : Lavf57.41.100
    Stream #0:0: Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz,
stereo, fltp (24 bit), 128 kb/s (default)
    Metadata:
      encoder         : Lavc57.48.101 aac
    Stream #0:1(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021),
yuv420p, 640x360 [SAR 1:1 DAR 16:9], q=-1--1, 0.04 fps, 24k tbn, 23.98 tbc
(default)
    Metadata:
      creation_time   : 2017-11-09 12:37:45
      handler_name    : Apple Alias Data Handler
      timecode        : 00:00:00:00
      encoder         : Lavc57.48.101 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream mapping:
  Stream #0:1 (pcm_s24le) -> pan (graph 0)
  pan (graph 0) -> Stream #0:0 (aac)
  Stream #0:0 -> #0:1 (prores (native) -> h264 (libx264))
Press [q] to stop, [?] for help


More information about the ffmpeg-user mailing list