Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#2418 closed defect (invalid)

ffmpeg creates files without audio tracks when converting from H264 mov to ts

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

Description

Summary of the bug: I'm trying to remux a MOV file to a TS file and ffmpeg creates a TS file without an audio track. The original file plays file with WMP 12, the TS remuxed file has no audio. This is also reflected in ffmpeg -i on the converted file, see output below.

-bsf h264_mp4toannexb is required otherwise ffmpeg throws an error

[mpegts @ 043788a0] H.264 bitstream malformed, no startcode found, use the h264_mp4toannexb bitstream filter (-bsf h264_
mp4toannexb)
av_interleaved_write_frame(): Invalid argument

How to reproduce:

ffmpeg -i ChrisWalkingZoomOnLegsGoodVideo.MOV -codec copy -bsf h264_mp4toannexb test.ts
ffmpeg version N-49757-g969039e Copyright (c) 2000-2013 the FFmpeg developers
  built on Feb  9 2013 20:28:03 with gcc 4.7.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfi
g --enable-frei0r --enable-gnutls --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libg
sm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --ena
ble-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-
libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxv
id --enable-zlib
  libavutil      52. 17.101 / 52. 17.101
  libavcodec     54. 91.102 / 54. 91.102
  libavformat    54. 62.100 / 54. 62.100
  libavdevice    54.  3.103 / 54.  3.103
  libavfilter     3. 37.101 /  3. 37.101
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
Guessed Channel Layout for  Input Stream #0.1 : stereo
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'ChrisWalkingZoomOnLegsGoodVideo.MOV':
  Metadata:
    major_brand     : qt
    minor_version   : 537331968
    compatible_brands: qt  niko
    creation_time   : 2013-03-15 13:36:00
  Duration: 00:01:29.99, start: 0.000000, bitrate: 12338 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p, 1280x720 [SAR 1:1 DAR 16:9], 10789 kb/s, 29.97 f
ps, 29.97 tbr, 30k tbn, 59.94 tbc
    Metadata:
      creation_time   : 2013-03-15 13:36:00
    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s
    Metadata:
      creation_time   : 2013-03-15 13:36:00
Output #0, mpegts, to 'test.ts':
  Metadata:
    major_brand     : qt
    minor_version   : 537331968
    compatible_brands: qt  niko
    encoder         : Lavf54.62.100
    Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), yuvj420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 10789 kb/s, 29.97
fps, 90k tbn, 29.97 tbc
    Metadata:
      creation_time   : 2013-03-15 13:36:00
    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, 1536 kb/s
    Metadata:
      creation_time   : 2013-03-15 13:36:00
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 2697 fps=2391 q=-1.0 Lsize=  146926kB time=00:01:29.98 bitrate=13375.1kbits/s
video:118529kB audio:16873kB subtitle:0 global headers:0kB muxing overhead 8.510880%
ffmpeg -i test.ts
ffmpeg version N-49757-g969039e Copyright (c) 2000-2013 the FFmpeg developers
  built on Feb  9 2013 20:28:03 with gcc 4.7.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfi
g --enable-frei0r --enable-gnutls --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libg
sm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --ena
ble-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-
libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxv
id --enable-zlib
  libavutil      52. 17.101 / 52. 17.101
  libavcodec     54. 91.102 / 54. 91.102
  libavformat    54. 62.100 / 54. 62.100
  libavdevice    54.  3.103 / 54.  3.103
  libavfilter     3. 37.101 /  3. 37.101
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
[mpegts @ 02367a40] probed stream 1 failed
[mpegts @ 02367a40] Could not find codec parameters for stream 1 (Unknown: none ([6][0][0][0] / 0x0006)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from 'test.ts':
  Duration: 00:01:29.97, start: 1.400000, bitrate: 13377 kb/s
  Program 1
    Metadata:
      service_name    : Service01
      service_provider: FFmpeg
    Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuvj420p, 1280x720 [SAR 1:1 DAR 16:9], 29.97 fps, 2
9.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:1[0x101](eng): Unknown: none ([6][0][0][0] / 0x0006)
At least one output file must be specified}}}
Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.

Change History (2)

comment:1 by Carl Eugen Hoyos, 11 years ago

Resolution: invalid
Status: newclosed

As discussed before, you cannot put random codecs into transport streams. This is not a limitation of FFmpeg, it is a limitation of transport streams.

comment:2 by ramitb, 11 years ago

So instead of "successfully" finishing teh remuxing shouldn't ffmpeg throw an error?

Note: See TracTickets for help on using tickets.