[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