[FFmpeg-user] streams

Vladimir Bilichenko belikwolf at gmail.com
Wed Dec 24 10:52:41 CET 2014


Here is code of bash file

target_width=720
target_height=480
target_aspect_ratio=$target_width/$target_height

./ffmpeg -y -i mp4.mp4 -i ogv.ogv -i ogv2.ogv -vcodec ppm -filter_complex "[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] concat=n=3:v=1:a=1:unsafe=1 [v] [a]" -s '1280x1080' -b:v '512K' -b:a '128K' -strict -2 -c:v libx264 -preset ultrafast -map [v] -map [a] -r 30 outtmp.mp4
./ffmpeg -i outtmp.mp4 -s $target_width'x'$target_height -vf "scale=iw*sar:ih , pad=max(iw\,ih*($target_aspect_ratio)):ow/($target_aspect_ratio):(ow-iw)/2:(oh-ih)/2" -aspect $target_width':'$target_height -strict -2 777.mp4
rm -f outtmp.mp4
Console output

iMac-Vladimir:BYELIK BYELIK$ ./test.sh
ffmpeg version 2.4.3 Copyright (c) 2000-2014 the FFmpeg developers
  built on Nov  4 2014 11:01:51 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
  configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --enable-libvidstab --enable-libx265 --arch=x86_64 --enable-runtime-cpudetect
  libavutil      54.  7.100 / 54.  7.100
  libavcodec     56.  1.100 / 56.  1.100
  libavformat    56.  4.101 / 56.  4.101
  libavdevice    56.  0.100 / 56.  0.100
  libavfilter     5.  1.100 /  5.  1.100
  libswscale      3.  0.100 /  3.  0.100
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  0.100 / 53.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'mp4.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.4.101
  Duration: 00:00:18.20, start: 0.000000, bitrate: 359 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 355 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler
Input #1, ogg, from 'ogv.ogv':
  Duration: 00:00:02.55, start: 0.000000, bitrate: 310 kb/s
    Stream #1:0(und): Video: theora, yuv420p, 640x480 [SAR 4:3 DAR 16:9], 30 fps, 30 tbr, 30 tbn, 30 tbc
    Metadata:
      CREATION_TIME   : 2014-12-04 08:57:02
      LANGUAGE        : und
      HANDLER_NAME    : Core Media Data Handler
      ENCODER         : Lavc56.1.100 libtheora
      MAJOR_BRAND     : qt  
      MINOR_VERSION   : 0
      COMPATIBLE_BRANDS: qt  
    Stream #1:1(und): Audio: vorbis, 44100 Hz, stereo, fltp, 112 kb/s
    Metadata:
      CREATION_TIME   : 2014-12-04 08:57:02
      LANGUAGE        : und
      HANDLER_NAME    : Core Media Data Handler
      ENCODER         : Lavc56.1.100 libvorbis
      MAJOR_BRAND     : qt  
      MINOR_VERSION   : 0
      COMPATIBLE_BRANDS: qt  
Input #2, ogg, from 'ogv2.ogv':
  Duration: 00:00:02.55, start: 0.000000, bitrate: 310 kb/s
    Stream #2:0(und): Video: theora, yuv420p, 640x480 [SAR 4:3 DAR 16:9], 30 fps, 30 tbr, 30 tbn, 30 tbc
    Metadata:
      CREATION_TIME   : 2014-12-04 08:57:02
      LANGUAGE        : und
      HANDLER_NAME    : Core Media Data Handler
      ENCODER         : Lavc56.1.100 libtheora
      MAJOR_BRAND     : qt  
      MINOR_VERSION   : 0
      COMPATIBLE_BRANDS: qt  
    Stream #2:1(und): Audio: vorbis, 44100 Hz, stereo, fltp, 112 kb/s
    Metadata:
      CREATION_TIME   : 2014-12-04 08:57:02
      LANGUAGE        : und
      HANDLER_NAME    : Core Media Data Handler
      ENCODER         : Lavc56.1.100 libvorbis
      MAJOR_BRAND     : qt  
      MINOR_VERSION   : 0
      COMPATIBLE_BRANDS: qt  
Stream specifier ':1' in filtergraph description [0:0] [0:1] [1:0] [1:1] [2:0] [2:1] concat=n=3:v=1:a=1:unsafe=1 [v] [a] matches no streams.
ffmpeg version 2.4.3 Copyright (c) 2000-2014 the FFmpeg developers
  built on Nov  4 2014 11:01:51 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
  configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --enable-libvidstab --enable-libx265 --arch=x86_64 --enable-runtime-cpudetect
  libavutil      54.  7.100 / 54.  7.100
  libavcodec     56.  1.100 / 56.  1.100
  libavformat    56.  4.101 / 56.  4.101
  libavdevice    56.  0.100 / 56.  0.100
  libavfilter     5.  1.100 /  5.  1.100
  libswscale      3.  0.100 /  3.  0.100
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  0.100 / 53.  0.100
outtmp.mp4: No such file or directory
iMac-Vladimir:BYELIK BYELIK$ 
I need to know how to join video files with different stream count. first video(mp4.mp4) have only 1 stream(video).

Thanks in advance.


More information about the ffmpeg-user mailing list