[FFmpeg-user] ffmpeg-0.7.3 vcodec copy problem with multiple video streams

David Favor david at davidfavor.com
Wed Aug 24 01:32:21 CEST 2011


:::: Starting with a Skype recording...

David-Favor-iMac> ffmpeg 30sec-test.skype.mov
ffmpeg version 0.7.3, Copyright (c) 2000-2011 the FFmpeg developers
   built on Aug 23 2011 08:57:36 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3)
   configuration: --prefix=/opt/local --enable-gpl --enable-postproc --enable-swscale --enable-avfilter 
--enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libdirac --enable-libschroedinger --enable-libxvid 
--enable-libx264 --enable-libvpx --enable-libspeex --mandir=/opt/local/share/man --enable-shared --enable-pthreads 
--disable-indevs --cc=/usr/bin/gcc-4.2 --arch=x86_64 --enable-yasm
   libavutil    50. 43. 0 / 50. 43. 0
   libavcodec   52.122. 0 / 52.122. 0
   libavformat  52.110. 0 / 52.110. 0
   libavdevice  52.  5. 0 / 52.  5. 0
   libavfilter   1. 80. 0 /  1. 80. 0
   libswscale    0. 14. 1 /  0. 14. 1
   libpostproc  51.  2. 0 / 51.  2. 0
Incompatible sample format '(null)' for codec 'aac', auto-selecting format 's16'
File '30sec-test.skype.mov' already exists. Overwrite ? [y/N] ^C
David-Favor-iMac> ffmpeg -i 30sec-test.skype.mov
ffmpeg version 0.7.3, Copyright (c) 2000-2011 the FFmpeg developers
   built on Aug 23 2011 08:57:36 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3)
   configuration: --prefix=/opt/local --enable-gpl --enable-postproc --enable-swscale --enable-avfilter 
--enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libdirac --enable-libschroedinger --enable-libxvid 
--enable-libx264 --enable-libvpx --enable-libspeex --mandir=/opt/local/share/man --enable-shared --enable-pthreads 
--disable-indevs --cc=/usr/bin/gcc-4.2 --arch=x86_64 --enable-yasm
   libavutil    50. 43. 0 / 50. 43. 0
   libavcodec   52.122. 0 / 52.122. 0
   libavformat  52.110. 0 / 52.110. 0
   libavdevice  52.  5. 0 / 52.  5. 0
   libavfilter   1. 80. 0 /  1. 80. 0
   libswscale    0. 14. 1 /  0. 14. 1
   libpostproc  51.  2. 0 / 51.  2. 0

Seems stream 2 codec frame rate differs from container frame rate: 2000.00 (2000/1) -> 15.08 (181/12)

Seems stream 3 codec frame rate differs from container frame rate: 2000.00 (2000/1) -> 15.08 (181/12)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '30sec-test.skype.mov':
   Metadata:
     major_brand     : qt
     minor_version   : 537199360
     compatible_brands: qt
     creation_time   : 2011-02-25 17:04:25
   Duration: 00:00:31.99, start: 0.000000, bitrate: 5209 kb/s
     Stream #0.0(eng): Audio: pcm_f32le, 44100 Hz, 1 channels, flt, 1411 kb/s
     Metadata:
       creation_time   : 2011-02-25 17:04:25
     Stream #0.1(eng): Audio: pcm_f32le, 44100 Hz, 2 channels, flt, 2822 kb/s
     Metadata:
       creation_time   : 2011-02-25 17:04:25
     Stream #0.2(eng): Video: h264 (Main), yuv420p, 640x480, 294 kb/s, 14.97 fps, 15.08 tbr, 1k tbn, 2k tbc
     Metadata:
       creation_time   : 2011-02-25 17:04:25
     Stream #0.3(eng): Video: h264 (Main), yuv420p, 640x480, 678 kb/s, 15 fps, 15.08 tbr, 1k tbn, 2k tbc
     Metadata:
       creation_time   : 2011-02-25 17:04:25

:::: My goal is to copy both video streams without any change.

This command comes close:

     ffmpeg -y -i 30sec-test.skype.mov -an -map 0.2 -map 0.3 \
            -vcodec copy -vcodec copy 30sec-test.video.mov -newvideo

Except the second stream in the output video has changed codecs...

David-Favor-iMac> ffmpeg -i 30sec-test.video.mov
ffmpeg version 0.7.3, Copyright (c) 2000-2011 the FFmpeg developers
   built on Aug 23 2011 08:57:36 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3)
   configuration: --prefix=/opt/local --enable-gpl --enable-postproc --enable-swscale --enable-avfilter 
--enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libdirac --enable-libschroedinger --enable-libxvid 
--enable-libx264 --enable-libvpx --enable-libspeex --mandir=/opt/local/share/man --enable-shared --enable-pthreads 
--disable-indevs --cc=/usr/bin/gcc-4.2 --arch=x86_64 --enable-yasm
   libavutil    50. 43. 0 / 50. 43. 0
   libavcodec   52.122. 0 / 52.122. 0
   libavformat  52.110. 0 / 52.110. 0
   libavdevice  52.  5. 0 / 52.  5. 0
   libavfilter   1. 80. 0 /  1. 80. 0
   libswscale    0. 14. 1 /  0. 14. 1
   libpostproc  51.  2. 0 / 51.  2. 0

Seems stream 0 codec frame rate differs from container frame rate: 2000.00 (2000/1) -> 15.08 (181/12)

Seems stream 1 codec frame rate differs from container frame rate: 181.00 (181/1) -> 15.08 (181/12)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '30sec-test.video.mov':
   Metadata:
     major_brand     : qt
     minor_version   : 512
     compatible_brands: qt
     creation_time   : 1970-01-01 00:00:00
     encoder         : Lavf52.110.0
   Duration: 00:00:31.99, start: 0.000000, bitrate: 962 kb/s
     Stream #0.0(eng): Video: h264 (Main), yuv420p, 640x480, 678 kb/s, 15 fps, 15.08 tbr, 1k tbn, 2k tbc
     Metadata:
       creation_time   : 1970-01-01 00:00:00
     Stream #0.1(eng): Video: mpeg4, yuv420p, 640x480 [PAR 1:1 DAR 4:3], 282 kb/s, 15.11 fps, 15.08 tbr, 181 tbn, 181 tbc
     Metadata:
       creation_time   : 1970-01-01 00:00:00

:::: Maybe there's additional syntax for -map to do the copy correctly.

Pass along suggestions.

Thanks.

-- 
Love feeling your best ever, all day, every day?
Click http://RadicalHealth.com for the easy way!


More information about the ffmpeg-user mailing list