GNOME Bugzilla – Bug 564622
[x264enc][mpegtsmux] Fix compliance with Play Station 3 (PS3)
Last modified: 2016-02-21 12:27:30 UTC
Please describe the problem: An AVC m2ts file produced with the latest mpegtsmux is not fully recognized by the PS3. Encoding properties are not available and the preview feature doesn't work. This is closely related to Bug 550613, but the problem is now in the video stream. Steps to reproduce: Apply patch http://bugzilla.gnome.org/attachment.cgi?id=124602 on CVS HEAD of gst-plugins-bad gst-launch-0.10 mpegtsmux name=mux m2ts-mode=true ! filesink location=output.m2ts audiotestsrc num-buffers=1000 ! audio/x-raw-int, rate=48000 ! audioconvert ! audio/x-raw-int, channels=2 ! ffenc_ac3 bitrate=256000 ! audio/x-ac3, bitrate=256 ! mux. videotestsrc num-buffers=1000 ! x264enc cabac=false ! mux. Actual results: PS3 device says "Unsupported Data" and no stream properties can be displayed. The media plays fine though. Expected results: All stream properties should be displayed and preview thumbnail should play. Does this happen every time? Other information:
Vanista, let me know if there is anything you want/need me to test. While you have your own PS3 currently I guess there is less need, but if you want something 110% confirmed I am here :)
This server I was told are able to generate fully supported files for the PS3: http://code.google.com/p/ps3mediaserver/ I haven't tried it myself yet, but I will do so when I am visit my family for Christmas and report back my success or lack of such.
Hi Vanista, How are things progressing on this issue? are you getting any closer to figuring out what cause the last small PS3 integration issues?
Hi again! Our investigation sort of forked out of gstreamer's scope. We use a different encoder than X264 and we tracked down the remaining issue to be in the video stream itself rather than the container. So the good news is the muxer should be pretty much feature complete now. The bad news is there's probably a glitch in the x264enc plugin, and I can't help with that. I'd like to add that the exact source of the problem isn't clear either, we sort of stumbled on the solution while tackling other problems. All I can say is I haven't changed the muxer since the last patch for Bug 550613 This issue should probably be routed to the x264 maintainers.
Hi Vanista, would you be able to attach a tiny clip to this bug with a perfectly working file you generated? Would maybe make it a little easier to get to the bottom of this.
Could this have to do with the h264 profile ? Using x264enc with standard properties will lead to Main profile, which the hardware may not like. IIRC, using cabac=false should yield a Baseline profile, which may fare better (see also x264enc's documentation).
I tried creating a MPEG TS file with AC3 audio and H264 Baseline, but the behaviour is the same. The file gets listed as unsupported data, but once you try playing it, it works fine.
Ok, I found this blog entry: http://rtfm-nub.blogspot.com/2007/07/i-was-wrong-about-transport-stream.html Which seems to say that MPEG TS officially do not support AC/3 audio on the PS3. It does claim that MPEG PS with AC3 is supported though so once the MPEG PS muxer is done as part of this years SoC I guess I will try that out. It also mentions that AC3 is supported in AVCHD (m2ts): http://en.wikipedia.org/wiki/AVCHD I guess a MPEG TS file and a M2TS file is close, but not the same. And maybe figuring out what the difference is and making sure MPEG TS mux can also do M2TS style files will solve this bug.
Further information on m2ts difference from normal mpeg TS: http://en.wikipedia.org/wiki/MPEG_transport_stream#Modifications_of_transport_stream_specification_for_random-access_media_.28M2TS.29 There is also a remuxing tool with GPL source code here which is supposed to do the right thing: http://forum.doom9.org/showthread.php?t=125447
Found a MTS sample file here: http://www.edi.org/test.MTS Seems our TS demuxer has trouble with this file too.
Just verified, this file is immediately identified and played by the PS3.
Is this still an issue ?
If it's still an issue, we could create a small validation program using the new mpeg-ts lib to check the various sections are corrrect/expected.
Closing this bug report as no further information has been provided. Please feel free to reopen this bug report if you can provide the information that was asked for in a previous comment. Thanks!