File to remap is: FFmpeg version 0.6.1, Copyright (c) 2000-2010 the FFmpeg developers built on Oct 25 2010 08:06:34 with gcc 4.2.1 (Apple Inc. build 5664) configuration: --prefix=/opt/local --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-avfilter-lavf --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libdirac --enable-libschroedinger --enable-libfaac --enable-libfaad --enable-libxvid --enable-libx264 --enable-libvpx --enable-libspeex --enable-nonfree --mandir=/opt/local/share/man --enable-shared --enable-pthreads --disable-indevs --cc=/usr/bin/gcc-4.2 --arch=x86_64 libavutil 50.15. 1 / 50.15. 1 libavcodec 52.72. 2 / 52.72. 2 libavformat 52.64. 2 / 52.64. 2 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.19. 0 / 1.19. 0 libswscale 1.11. 0 / 1.11. 0 libpostproc 51. 2. 0 / 51. 2. 0 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12180c800]multiple edit list entries, a/v desync might occur, patch welcome Seems stream 2 codec frame rate differs from container frame rate: 2000.00 (2000/1) -> 45.33 (136/3) Seems stream 3 codec frame rate differs from container frame rate: 2000.00 (2000/1) -> 45.33 (136/3) Last message repeated 1 times Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2011-02-09-rap-melissa-cantrelle.mov': Metadata: major_brand : qt minor_version : 537199360 compatible_brands: qt Duration: 01:09:51.85, start: 0.000000, bitrate: 1293 kb/s Stream #0.0(eng): Audio: aac, 44100 Hz, mono, s16, 65 kb/s Stream #0.1(eng): Audio: aac, 44100 Hz, stereo, s16, 98 kb/s Stream #0.2(eng): Video: h264, yuv420p, 640x480, 390 kb/s, 15.06 fps, 45.33 tbr, 1k tbn, 2k tbc Stream #0.3(eng): Video: h264, yuv420p, 640x480, 705 kb/s, 15.06 fps, 45.33 tbr, 1k tbn, 2k tbc This works: ffmpeg -y -i 2011-02-09.mov -vcodec copy -acodec copy \ -map 0.2 -map 0.0 foo.mov This fails: ffmpeg -y -i 2011-02-09.mov -vcodec copy -acodec copy \ -map 0.2 -map 0.3 -map 0.0 foo.mov ... ... ... Number of stream maps must match number of output streams My goal is to copy 0.0 + 0.2 + 0.3 into an output file, dropping 0.1 turning copy. Suggestions appreciated. Thanks. -- Love feeling your best ever, all day, every day? Click http://RadicalHealth.com for the easy way!
After your first -vcodec copy, say it twice, then add -newvideo as in: ... -vcodec copy -vcodec copy -newvideo -acodec copy On Feb 9, 2011, at 8:04 PM, David Favor <david at davidfavor.com> wrote:
File to remap is:
FFmpeg version 0.6.1, Copyright (c) 2000-2010 the FFmpeg developers built on Oct 25 2010 08:06:34 with gcc 4.2.1 (Apple Inc. build 5664) configuration: --prefix=/opt/local --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-avfilter-lavf --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libdirac --enable-libschroedinger --enable-libfaac --enable-libfaad --enable-libxvid --enable-libx264 --enable-libvpx --enable-libspeex --enable-nonfree --mandir=/opt/local/share/man --enable-shared --enable-pthreads --disable-indevs --cc=/usr/bin/gcc-4.2 --arch=x86_64 libavutil 50.15. 1 / 50.15. 1 libavcodec 52.72. 2 / 52.72. 2 libavformat 52.64. 2 / 52.64. 2 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.19. 0 / 1.19. 0 libswscale 1.11. 0 / 1.11. 0 libpostproc 51. 2. 0 / 51. 2. 0 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12180c800]multiple edit list entries, a/v desync might occur, patch welcome
Seems stream 2 codec frame rate differs from container frame rate: 2000.00 (2000/1) -> 45.33 (136/3)
Seems stream 3 codec frame rate differs from container frame rate: 2000.00 (2000/1) -> 45.33 (136/3) Last message repeated 1 times Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2011-02-09-rap-melissa-cantrelle.mov': Metadata: major_brand : qt minor_version : 537199360 compatible_brands: qt Duration: 01:09:51.85, start: 0.000000, bitrate: 1293 kb/s Stream #0.0(eng): Audio: aac, 44100 Hz, mono, s16, 65 kb/s Stream #0.1(eng): Audio: aac, 44100 Hz, stereo, s16, 98 kb/s Stream #0.2(eng): Video: h264, yuv420p, 640x480, 390 kb/s, 15.06 fps, 45.33 tbr, 1k tbn, 2k tbc Stream #0.3(eng): Video: h264, yuv420p, 640x480, 705 kb/s, 15.06 fps, 45.33 tbr, 1k tbn, 2k tbc
This works:
ffmpeg -y -i 2011-02-09.mov -vcodec copy -acodec copy \ -map 0.2 -map 0.0 foo.mov
This fails:
ffmpeg -y -i 2011-02-09.mov -vcodec copy -acodec copy \ -map 0.2 -map 0.3 -map 0.0 foo.mov ... ... ... Number of stream maps must match number of output streams
My goal is to copy 0.0 + 0.2 + 0.3 into an output file, dropping 0.1 turning copy.
Suggestions appreciated.
Thanks.
-- Love feeling your best ever, all day, every day? Click http://RadicalHealth.com for the easy way! _______________________________________________ ffmpeg-user mailing list ffmpeg-user at mplayerhq.hu https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-user
Leo Izen wrote:
After your first -vcodec copy, say it twice, then add -newvideo as in:
... -vcodec copy -vcodec copy -newvideo -acodec copy
On Feb 9, 2011, at 8:04 PM, David Favor <david at davidfavor.com> wrote:
File to remap is:
FFmpeg version 0.6.1, Copyright (c) 2000-2010 the FFmpeg developers built on Oct 25 2010 08:06:34 with gcc 4.2.1 (Apple Inc. build 5664) configuration: --prefix=/opt/local --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-avfilter-lavf --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libdirac --enable-libschroedinger --enable-libfaac --enable-libfaad --enable-libxvid --enable-libx264 --enable-libvpx --enable-libspeex --enable-nonfree --mandir=/opt/local/share/man --enable-shared --enable-pthreads --disable-indevs --cc=/usr/bin/gcc-4.2 --arch=x86_64 libavutil 50.15. 1 / 50.15. 1 libavcodec 52.72. 2 / 52.72. 2 libavformat 52.64. 2 / 52.64. 2 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.19. 0 / 1.19. 0 libswscale 1.11. 0 / 1.11. 0 libpostproc 51. 2. 0 / 51. 2. 0 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12180c800]multiple edit list entries, a/v desync might occur, patch welcome
Seems stream 2 codec frame rate differs from container frame rate: 2000.00 (2000/1) -> 45.33 (136/3)
Seems stream 3 codec frame rate differs from container frame rate: 2000.00 (2000/1) -> 45.33 (136/3) Last message repeated 1 times Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2011-02-09-rap-melissa-cantrelle.mov': Metadata: major_brand : qt minor_version : 537199360 compatible_brands: qt Duration: 01:09:51.85, start: 0.000000, bitrate: 1293 kb/s Stream #0.0(eng): Audio: aac, 44100 Hz, mono, s16, 65 kb/s Stream #0.1(eng): Audio: aac, 44100 Hz, stereo, s16, 98 kb/s Stream #0.2(eng): Video: h264, yuv420p, 640x480, 390 kb/s, 15.06 fps, 45.33 tbr, 1k tbn, 2k tbc Stream #0.3(eng): Video: h264, yuv420p, 640x480, 705 kb/s, 15.06 fps, 45.33 tbr, 1k tbn, 2k tbc
This works:
ffmpeg -y -i 2011-02-09.mov -vcodec copy -acodec copy \ -map 0.2 -map 0.0 foo.mov
This fails:
ffmpeg -y -i 2011-02-09.mov -vcodec copy -acodec copy \ -map 0.2 -map 0.3 -map 0.0 foo.mov ... ... ... Number of stream maps must match number of output streams
My goal is to copy 0.0 + 0.2 + 0.3 into an output file, dropping 0.1 turning copy.
Suggestions appreciated.
Thanks.
This works: ffmpeg -y -i in.mov -vcodec copy -acodec copy \ -map 0.2 -map 0.0 out.mov This fails as expected - Number of stream maps must match number of output streams ffmpeg -y -i in.mov -vcodec copy -vcodec copy -acodec copy \ -map 0.2 -map 0.3 -map 0.0 out.mov This fails unexpectedly - At least one output file must be specified ffmpeg -y -i in.mov -vcodec copy -vcodec copy -newvideo -acodec copy \ -map 0.2 -map 0.3 -map 0.0 out.mov Suggestions appreciated. -- Love feeling your best ever, all day, every day? Click http://RadicalHealth.com for the easy way!
David Favor wrote:
On Feb 9, 2011, at 8:04 PM, David Favor <david at davidfavor.com> wrote:
Duration: 01:09:51.85, start: 0.000000, bitrate: 1293 kb/s Stream #0.0(eng): Audio: aac, 44100 Hz, mono, s16, 65 kb/s Stream #0.1(eng): Audio: aac, 44100 Hz, stereo, s16, 98 kb/s Stream #0.2(eng): Video: h264, yuv420p, 640x480, 390 kb/s, 15.06 fps, 45.33 tbr, 1k tbn, 2k tbc Stream #0.3(eng): Video: h264, yuv420p, 640x480, 705 kb/s, 15.06 fps, 45.33 tbr, 1k tbn, 2k tbc
This fails unexpectedly - At least one output file must be specified
ffmpeg -y -i in.mov -vcodec copy -vcodec copy -newvideo -acodec copy \ -map 0.2 -map 0.3 -map 0.0 out.mov
Suggestions appreciated.
The order of command iine arguments is very important for ffmpeg. And Yes, the rules are obscure and not documented well. -newvideo keyword must be after the output file to which it applies. - you need to specify the encoding parameters (e.g. codec, rate) between the output filename and the -newvideo keyword. If you specify nothing, you will re-encode the video with mpeg2 codec @ 200 kbps. - by convention, the -map keywords are put last on the command line - 'ffmpeg -help' says to use ':' for -map command, but '.' seems to work too. So, this command line should work for you: ffmpeg in.mov -vcodec copy -acodec copy out.mov -vcodec copy -newvideo -map 0:2 -map 0:3 -map 0:0 Please let us know if this works for you, Mike Scheutzow
Mike Scheutzow wrote:
David Favor wrote:
On Feb 9, 2011, at 8:04 PM, David Favor <david at davidfavor.com> wrote:
Duration: 01:09:51.85, start: 0.000000, bitrate: 1293 kb/s Stream #0.0(eng): Audio: aac, 44100 Hz, mono, s16, 65 kb/s Stream #0.1(eng): Audio: aac, 44100 Hz, stereo, s16, 98 kb/s Stream #0.2(eng): Video: h264, yuv420p, 640x480, 390 kb/s, 15.06 fps, 45.33 tbr, 1k tbn, 2k tbc Stream #0.3(eng): Video: h264, yuv420p, 640x480, 705 kb/s, 15.06 fps, 45.33 tbr, 1k tbn, 2k tbc
This fails unexpectedly - At least one output file must be specified
ffmpeg -y -i in.mov -vcodec copy -vcodec copy -newvideo -acodec copy \ -map 0.2 -map 0.3 -map 0.0 out.mov
Suggestions appreciated.
The order of command iine arguments is very important for ffmpeg. And Yes, the rules are obscure and not documented well.
-newvideo keyword must be after the output file to which it applies.
- you need to specify the encoding parameters (e.g. codec, rate) between the output filename and the -newvideo keyword. If you specify nothing, you will re-encode the video with mpeg2 codec @ 200 kbps.
- by convention, the -map keywords are put last on the command line
- 'ffmpeg -help' says to use ':' for -map command, but '.' seems to work too.
So, this command line should work for you:
ffmpeg in.mov -vcodec copy -acodec copy out.mov -vcodec copy -newvideo -map 0:2 -map 0:3 -map 0:0
Rereading this, I suspect the original map arguments will fail: the output file has 3 streams with these types: video1, audio1, video2 So the mapping will have to be: -map 0:2 -map 0:0 -map 0:3 Mike Scheutzow
Mike Scheutzow wrote:
Mike Scheutzow wrote:
David Favor wrote:
On Feb 9, 2011, at 8:04 PM, David Favor <david at davidfavor.com> wrote:
Duration: 01:09:51.85, start: 0.000000, bitrate: 1293 kb/s Stream #0.0(eng): Audio: aac, 44100 Hz, mono, s16, 65 kb/s Stream #0.1(eng): Audio: aac, 44100 Hz, stereo, s16, 98 kb/s Stream #0.2(eng): Video: h264, yuv420p, 640x480, 390 kb/s, 15.06 fps, 45.33 tbr, 1k tbn, 2k tbc Stream #0.3(eng): Video: h264, yuv420p, 640x480, 705 kb/s, 15.06 fps, 45.33 tbr, 1k tbn, 2k tbc
This fails unexpectedly - At least one output file must be specified
ffmpeg -y -i in.mov -vcodec copy -vcodec copy -newvideo -acodec copy \ -map 0.2 -map 0.3 -map 0.0 out.mov
Suggestions appreciated.
The order of command iine arguments is very important for ffmpeg. And Yes, the rules are obscure and not documented well.
-newvideo keyword must be after the output file to which it applies.
- you need to specify the encoding parameters (e.g. codec, rate) between the output filename and the -newvideo keyword. If you specify nothing, you will re-encode the video with mpeg2 codec @ 200 kbps.
- by convention, the -map keywords are put last on the command line
- 'ffmpeg -help' says to use ':' for -map command, but '.' seems to work too.
So, this command line should work for you:
ffmpeg in.mov -vcodec copy -acodec copy out.mov -vcodec copy -newvideo -map 0:2 -map 0:3 -map 0:0
Rereading this, I suspect the original map arguments will fail: the output file has 3 streams with these types: video1, audio1, video2
So the mapping will have to be: -map 0:2 -map 0:0 -map 0:3
This one also fails with: At least one input file must be specified -- Love feeling your best ever, all day, every day? Click http://RadicalHealth.com for the easy way!
Mike Scheutzow wrote:
David Favor wrote:
On Feb 9, 2011, at 8:04 PM, David Favor <david at davidfavor.com> wrote:
Duration: 01:09:51.85, start: 0.000000, bitrate: 1293 kb/s Stream #0.0(eng): Audio: aac, 44100 Hz, mono, s16, 65 kb/s Stream #0.1(eng): Audio: aac, 44100 Hz, stereo, s16, 98 kb/s Stream #0.2(eng): Video: h264, yuv420p, 640x480, 390 kb/s, 15.06 fps, 45.33 tbr, 1k tbn, 2k tbc Stream #0.3(eng): Video: h264, yuv420p, 640x480, 705 kb/s, 15.06 fps, 45.33 tbr, 1k tbn, 2k tbc
This fails unexpectedly - At least one output file must be specified
ffmpeg -y -i in.mov -vcodec copy -vcodec copy -newvideo -acodec copy \ -map 0.2 -map 0.3 -map 0.0 out.mov
Suggestions appreciated.
The order of command iine arguments is very important for ffmpeg. And Yes, the rules are obscure and not documented well.
-newvideo keyword must be after the output file to which it applies.
- you need to specify the encoding parameters (e.g. codec, rate) between the output filename and the -newvideo keyword. If you specify nothing, you will re-encode the video with mpeg2 codec @ 200 kbps.
- by convention, the -map keywords are put last on the command line
- 'ffmpeg -help' says to use ':' for -map command, but '.' seems to work too.
So, this command line should work for you:
ffmpeg in.mov -vcodec copy -acodec copy out.mov -vcodec copy -newvideo -map 0:2 -map 0:3 -map 0:0
Please let us know if this works for you,
Geez this is obscure syntax... This command line fails with: At least one input file must be specified -- Love feeling your best ever, all day, every day? Click http://RadicalHealth.com for the easy way!
On 10/02/2011, David Favor <david at davidfavor.com> wrote:
Stream #0.0(eng): Audio: aac, 44100 Hz, mono, s16, 65 kb/s Stream #0.1(eng): Audio: aac, 44100 Hz, stereo, s16, 98 kb/s Stream #0.2(eng): Video: h264, yuv420p, 640x480, 390 kb/s, 15.06 fps, 45.33 tbr, 1k tbn, 2k tbc Stream #0.3(eng): Video: h264, yuv420p, 640x480, 705 kb/s, 15.06 fps, 45.33 tbr, 1k tbn, 2k tbc
My goal is to copy 0.0 + 0.2 + 0.3 into an output file, dropping 0.1 turning copy.
The hardest part is getting the -map order right.
ffmpeg -i INPUT -map 0.2 -map 0.0 -map 0.3 -vcodec copy -acodec copy OUTPUT -vcodec copy -newvideo
Great job. Works the same way for audio. ffmpeg .... such a great tool.... such poor documentation.... -- View this message in context: http://ffmpeg-users.933282.n4.nabble.com/ffmpeg-map-guru-required-tp3298437p... Sent from the FFmpeg-users mailing list archive at Nabble.com.
participants (5)
-
david@davidfavor.com -
james.darnley@gmail.com -
leo.izen@gmail.com -
mike.scheutzow@alcatel-lucent.com -
redbird