Opened 12 years ago

Closed 11 years ago

#1268 closed enhancement (invalid)

Shorthand for all streams c:all

Reported by: burek Owned by:
Priority: wish Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Hi,

It would be easier to type:

-c:all copy

instead of

-c:v copy -c:a copy -c:s copy -c:d copy -c:t copy

if that option is implemented.

Change History (4)

comment:1 by burek, 12 years ago

Further discussion on IRC channel revealed that there is -c which is equivalent for this -c:all suggestion, but the problem with -c (or rather with -map) is because -map 0 is not the default behavior. So, here is the problem. When a user types:

ffmpeg -i INPUT -c copy OUTPUT

what he is expecting is to remux his media into another container, but what he gets is not what he was expecting, because, in a multiple streams media file, ffmpeg will choose the "best pick" for multiple audio streams for example and will leave other audio streams not copied.

So, my suggestion was actually to make -map 0 the default option, making ffmpeg copy all streams, not just to pick "the best ones" out.

comment:2 by Carl Eugen Hoyos, 12 years ago

Command line and complete, uncut console output missing.

comment:3 by burek, 12 years ago

cehoyos, this is 3rd or 4th time that I get impression that you are not even reading these messages on trac, but rather just reply to them, only to make a reply.. no offense, but that's the feeling I got so far.. what command line and output do you need, when this is a wish/enhancement request?

command:

ffmpeg -i INPUT -c copy OUTPUT

expected results: Copy EVERYTHING from the input container and remux it into the output container

real results: FFmpeg copies one video + one audio stream to the output container (by choosing a best pick for streams, I guess)

ffmpeg -i out.mp4 -c copy out2.mp4
ffmpeg version N-40213-g9f98a8e Copyright (c) 2000-2012 the FFmpeg developers
  built on May  1 2012 17:07:09 with gcc 4.6.3
  configuration: --prefix=/root/ffmpeg-static/32bit --arch=x86_32 --extra-cflags='-m32 -I/root/ffmpeg-static/32bit/include -static' --extra-ldflags='-m32 -L/root/ffmpeg-static/32bit/lib -static' --extra-libs='-lxml2 -lexpat -lfreetype' --enable-static --disable-shared --disable-ffserver --disable-doc --enable-bzlib --enable-zlib --enable-postproc --enable-runtime-cpudetect --enable-libx264 --enable-gpl --enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-gray --enable-libass --enable-libfreetype --enable-libopenjpeg --enable-libspeex --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-version3 --enable-libvpx
  libavutil      51. 48.100 / 51. 48.100
  libavcodec     54. 17.100 / 54. 17.100
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.100 /  2. 72.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'out.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
  Duration: 00:00:12.74, start: 0.000000, bitrate: 405 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 352x288, 6 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 128 kb/s
    Metadata:
      handler_name    : SoundHandler
    Stream #0:2(und): Audio: mp2 (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 127 kb/s
    Metadata:
      handler_name    : SoundHandler
    Stream #0:3(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 129 kb/s
    Metadata:
      handler_name    : SoundHandler
Output #0, mp4, to 'out2.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
    Stream #0:0(und): Video: h264 (![0][0][0] / 0x0021), yuv420p, 352x288, q=2-31, 6 kb/s, 30
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: mp3 (i[0][0][0] / 0x0069), 44100 Hz, stereo, 128 kb/s
    Metadata:
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=  379 fps=0.0 q=-1.0 Lsize=     223kB time=00:00:12.56 bitrate= 145.2kbits/s    
video:10kB audio:200kB global headers:0kB muxing overhead 6.214687%

If I'm not wrong this command would need to add -map 0 to get the desired effect (to copy everything from the input to the output format).

comment:4 by Carl Eugen Hoyos, 11 years ago

Resolution: invalid
Status: newclosed

-map != -codec, I don't think this is a valid ticket

Note: See TracTickets for help on using tickets.