Opened 12 years ago
Last modified 5 years ago
#2162 open defect
AC-3 descriptors for Transport Stream
Reported by: | britannia | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avformat |
Version: | git-master | Keywords: | mpegts |
Cc: | jsantiago@fastmail.us | Blocked By: | |
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description (last modified by )
I have some movies (mpeg2 video, AC3 audio) that I would like to convert to m2ts.
If I do this with tsMuxerGUI, it plays like a charm on my PS3. If I try this with ffmpeg the PS3 does never recognize the audio track.
I've used "ffmpeg -i sample.vob -acodec copy -vcodec copy sample.m2ts"
Sample files were uploaded to the ftp Server upload.ffmpeg.org:
PS3Issue_Readme.txt
PS3IssueSampleFFMPEG.m2ts
PS3IssueSampleTSMUXERGUI.m2ts
==============================
1.) convert the file with "ffmpeg.exe" -i sample.mkv -acodec copy -vcodec copy -t 7 sampleFFMPEG.m2ts"
==============================
ffmpeg version 1.1 Copyright (c) 2000-2013 the FFmpeg developers built on Jan 8 2013 16:16:22 with gcc 4.7.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab le-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libg sm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --e nable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --e nable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwben c --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable- libxvid --enable-zlib libavutil 52. 13.100 / 52. 13.100 libavcodec 54. 86.100 / 54. 86.100 libavformat 54. 59.106 / 54. 59.106 libavdevice 54. 3.102 / 54. 3.102 libavfilter 3. 32.100 / 3. 32.100 libswscale 2. 1.103 / 2. 1.103 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100 Input #0, matroska,webm, from 'sample.mkv': Metadata: creation_time : 2013-01-21 07:30:54 Duration: 00:11:12.24, start: 0.000000, bitrate: 8453 kb/s Chapter #0.0: start 0.000000, end 672.238000 Metadata: title : Chapter 01 Stream #0:0(eng): Video: mpeg2video (Main), yuv420p, 720x480 [SAR 32:27 DAR 16:9], SAR 186:157 DAR 279:157, 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s (default) Metadata: title : 3/2+1 Output #0, mpegts, to 'sampleFFMPEG.m2ts': Metadata: encoder : Lavf54.59.106 Chapter #0.0: start 0.000000, end 7.000000 Metadata: title : Chapter 01 Stream #0:0(eng): Video: mpeg2video, yuv420p, 720x480 [SAR 186:157 DAR 279:1 57], q=2-31, 29.97 fps, 90k tbn, 29.97 tbc Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.1(side), 448 kb/s (default) Metadata: title : 3/2+1 Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help frame= 211 fps=0.0 q=-1.0 Lsize= 8038kB time=00:00:07.00 bitrate=9396.6kbits /s video:6880kB audio:383kB subtitle:0 global headers:0kB muxing overhead 10.673105 %
==============================
here ist the output of "ffmpeg -i sampleFFMPEG.m2ts"
==============================
ffmpeg version 1.1 Copyright (c) 2000-2013 the FFmpeg developers built on Jan 8 2013 16:16:22 with gcc 4.7.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab le-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libg sm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --e nable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --e nable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwben c --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable- libxvid --enable-zlib libavutil 52. 13.100 / 52. 13.100 libavcodec 54. 86.100 / 54. 86.100 libavformat 54. 59.106 / 54. 59.106 libavdevice 54. 3.102 / 54. 3.102 libavfilter 3. 32.100 / 3. 32.100 libswscale 2. 1.103 / 2. 1.103 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100 Input #0, mpegts, from 'sampleFFMPEG.m2ts': Duration: 00:00:07.04, start: 1.400000, bitrate: 9353 kb/s Program 1 Metadata: service_name : Service01 service_provider: FFmpeg Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420 p, 720x480 [SAR 32:27 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Stream #0:1[0x101](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1 (side), fltp, 448 kb/s At least one output file must be specified
==============================
then I have "posprocessed" the sampleFFMPEG.m2ts with tsMuxerGUI
here ist the output of "ffmpeg -i sampleTSMUXERGGUI.m2ts"
==============================
ffmpeg version 1.1 Copyright (c) 2000-2013 the FFmpeg developers built on Jan 8 2013 16:16:22 with gcc 4.7.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab le-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libg sm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --e nable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --e nable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwben c --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable- libxvid --enable-zlib libavutil 52. 13.100 / 52. 13.100 libavcodec 54. 86.100 / 54. 86.100 libavformat 54. 59.106 / 54. 59.106 libavdevice 54. 3.102 / 54. 3.102 libavfilter 3. 32.100 / 3. 32.100 libswscale 2. 1.103 / 2. 1.103 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100 Input #0, mpegts, from 'sampleTSMUXERGUI.m2ts': Duration: 00:00:07.04, start: 600.000000, bitrate: 8894 kb/s Program 1 Stream #0:0[0x1011]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv42 0p, 720x480 [SAR 32:27 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Stream #0:1[0x1100](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side ), fltp, 448 kb/s At least one output file must be specified
==============================
The differences that I see between ffmpeg output and tsMuxerGUI output are the track IDs and then "ac3 ([129][0][0][0] / 0x0081)" vs. "(AC-3 / 0x332D4341)".
Change History (14)
comment:1 by , 12 years ago
Description: | modified (diff) |
---|---|
Keywords: | mpegts added |
comment:2 by , 12 years ago
To answer the not ticket related question:
unfortunately PS3 does neither accept msmpeg4 nor wmv2
comment:6 by , 12 years ago
It takes an option (the tag) but it is unfortunately irrelevant for your problem.
Did you already test current git head?
follow-up: 8 comment:7 by , 12 years ago
I just double checked with git-9efcfbe (64bit, Windows). Same behavior. No audio is "recognized" by the PS3.
Can someone explain the difference between
([129][0][0][0] / 0x0081) (ffmpeg output, not found on PS3) and
(AC-3 / 0x332D4341) (tsMuxer output, plays fine on PS3)
?
I tried also with
-tag:a ac3
-tag:a AC-3
-tag:a 0x332D4341
but it had no influence on the output file.
comment:8 by , 12 years ago
Status: | new → open |
---|---|
Version: | unspecified → git-master |
comment:9 by , 10 years ago
Hello!
As I discovered that it is the mpegts container issue, not the ac3 codec.
For example, when I converting a VOB file to the M2TS format the result is incorrect.
But if convert the same file to the MP4 format, then it will be the right result.
And PS3 can play it perfectly!
comment:10 by , 10 years ago
comment:11 by , 8 years ago
This is probably an audio descriptor issue in Transport Stream. Ticket #5837 also has some more information about it, as well as a discussion in the following link from ffmpeg-user list:
http://ffmpeg.org/pipermail/ffmpeg-user/2016-September/033536.html
comment:12 by , 8 years ago
Cc: | added |
---|
comment:14 by , 5 years ago
Summary: | ffmpeg does not create PS3 compatible m2ts files → AC-3 descriptors for Transport Stream |
---|
@britania I hope that you don't mind my title's change, but as it didn't helped to be detected as AC-3 descriptor issue? in MPEG-TS until now i thought it was worth it.
(Same issue as #5837)
As a side note, an alternative to PS3 users to use TsMuXer they also could use FFmpeg with AC-3 in MP4 format also if it is not writed in the official list of supported codecs/formats.
Regards,
Is the problem also reproducible with current git head?
I have an unrelated question:
I am assuming that the PS3 is able to play (some) avi files, depending on the used codec:
$ ffmpeg -i input -an -qscale 10 -vcodec msmpeg4 outmsmpeg4.avi
$ ffmpeg -i input -an -qscale 10 -vcodec wmv2 outwmv2.avi
If you find a working video codec, could you test if both stereo ac-3 and multichannel ac-3 are played ok?
$ ffmpeg -i input -qscale 10 -vcodec msmpeg4 -acodec ac3 -ac 6 out6.avi
$ ffmpeg -i input -qscale 10 -vcodec msmpeg4 -acodec ac3 -ac 2 out2.avi