[FFmpeg-trac] #1720(avformat:open): ffmpeg with -vcodec copy -acodec copy creates files "without audio" for certain players

FFmpeg trac at avcodec.org
Thu Nov 21 02:09:02 CET 2013


#1720: ffmpeg with -vcodec copy -acodec copy creates files "without audio" for
certain players
-------------------------------------+-------------------------------------
             Reporter:  rogerdpack   |                    Owner:
                 Type:  defect       |                   Status:  open
             Priority:  normal       |                Component:  avformat
              Version:  git-master   |               Resolution:
             Keywords:  mpegps       |               Blocked By:
  bounty                             |  Reproduced by developer:  1
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by illusion):

 I've just encountered this same issue (I believe). However, it seems
 related to how the audio stream is marked inside the container ("Dolby
 AC3" in the original video). Note that '''vlc''' plays all clips fine, but
 '''totem''' cannot play the audio ("unknown codec", except for the
 '''different.avi''' and '''original.avi''' files, which are fine).

 '''Output from ''file'' command''':

 original.avi:  RIFF (little-endian) data, AVI, 720 x 384, 25.00 fps,
 video: XviD, audio: Dolby AC3 (6 channels, 48000 Hz)

 '''generated with ''-c copy''''' or '''''-c:v copy -c:a copy'''''
 copy.avi:      RIFF (little-endian) data, AVI, 720 x 384, 25.00 fps,
 video: XviD, audio: (6 channels, 48000 Hz)

 '''generated with ''-c copy -c:a mp3'''''
 mp3.avi:       RIFF (little-endian) data, AVI, 720 x 384, 25.00 fps,
 video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)

 '''completely different file, generated earlier with LiVES'''
 different.avi: RIFF (little-endian) data, AVI, 576 x 460, 25.00 fps,
 video: DivX 4, audio: (mono, 22050 Hz)

 I'm not familiar with the stream info encoding, so I'm not sure what it's
 called that's missing between '''audio:''' and the '''(''' (e.i.: the
 specific codec used for that audio stream), but I think that's why some
 players can't play the audio copied by '''ffmpeg'''.  When the audio is
 transcoded (into mp3, in my test cases), then the stream type is inserted
 into the audio stream info.

 From my programming experience, it seems like the audio "codec type"
 doesn't get transferred when the '''-c copy''' option applies to AC3 audio
 (and maybe others: I've only tried '''mp3''' to '''mp3''' and that copied
 fine).

 The original.avi is a 1.5GB file, so I'm not trying to attach these, but I
 can maybe find a smaller original Dolby AC3 file to work with and upload
 those, if needed.

 Doug

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1720#comment:19>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list