New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support MPEG2-TS media #33
Comments
We currently only support MP4 and WebM (WebM isn't added by default on iOS). We usually just forward things to FFmpeg, so there is a slim chance of it working somewhat by just adding a flag to ./configure --containers mov,mpegts You'll need to edit the The HLS+MP4 Angel One clips should work fine: https://storage.googleapis.com/shaka-demo-assets/angel-one-hls/hls.m3u8 |
Many thanks for your prompt reply! The clip that you provide works fine. I've tried your method by adding flag to When loading (http://184.72.239.149/vod/smil:BigBuckBunny.smil/playlist.m3u8)
When using previous framework, in the Log file, the player cannot even find the first ts segment. After changing the framework, it can detect the ts and try to load it. However, when the player loading the ts, it always prompt the error Does it mean there is no chance to play TS on this embedded player? |
That content is multiplexed, meaning the media files contain both audio and video streams. Shaka Player doesn't officially support that since browser support is inconsistent and not really aligned with streaming content where audio and video are usually separate. But Shaka Player will just add the segments and leave it to the browser. Shaka Player Embedded doesn't support multiplexed content at all. You'll need to convert your content to have audio and video in separate streams. We could add support for multiplexed content at some point, but it breaks a lot of assumptions in the media pipeline now. |
Thank you @TheModMaker for the explanation. And I've tried to separate the content to have audio and video in separate streams. But seems the player still got into some problems: I've followed the tutorial, and tried to use the shaka packager to encode the video content. Here are the basic information:
2 single track TS streams (1 video, 1 audio)Shaka Packager Command:
Result: Error
1 single track TS stream (1 video)
Result: Error
2 groups of streams (each with an init segment and a series of media segments) (MP4 Output)Shaka Packager Command:
Result: Played Successfully 2 single file MP4 streams (1 video, 1 audio)
Result: Played Successfully From the above results, we can see that TS streams still could not be played after separating audio and video or only playing the video stream. The contents that could be played are m4s in m3u8 and the single mp4 streams. However, when I tried to play the above streams from the shaka player demo website, all streams could be played successfully. I'm not sure if I used the shaka packager with the wrong command or if the player could not support separated audio and video streams with TS as segments. |
One thing I can think of is the video is too small to get hardware decoding. By default on iOS, we'll only play videos we can get hardware decoding on. (I also just realized there isn't a flag to disable force hardware decoding, but there is a flag to enable it) So try adding the |
On iOS we default to force hardware decoding. We have a flag to enable forcing hardware decoding, but no flag to not force hardware decoding. Issue #33 Change-Id: I7999fabbbb9d563799cc31a3651d8b38458ff5b8
I've used the flag to configure and build the framework again. After added the environment variable, more information was provided for the above issue: When playing this HLS (https://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8), still prompted the same error
After several trials with different HLS sources, it keeps showing: |
Note that there is no browser here (or more accurately Shaka Player Embedded is the browser). You are correct about a "media_utils" file, but it is actually here. I looked a bit at this and we definately will need to make some changes for this to work. There is some weirdness about segment appending that we'll need to fix. |
@TheModMaker Is there any plan to support this issue? |
We do plan on supporting it eventually, but we're not working on it yet. This is in the v1.1 milestone, so we'll start working on it after the v1.0 release is done. |
@TheModMaker I was having issues with MPEG2-TS and wasn't sure whether Shaka Player now supports it or not. Is |
I'm trying to use the sample_xcode_project.xcodeproj to play some HLS videos with TS fragment. But after trying with many HLS testing videos (e.g. https://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8
), the player keep showing :
Shaka Error MANIFEST.CONTENT_UNSUPPORTED_BY_BROWSER ()
However, when using the browser version of Shaka Player
The HLS video can be played. Hence I'm not sure if the problem is related to the player or that particular m3u8 file format is not supported. If the problem is related to the latter one, could you please provide some m3u8 files that can be played for this player. Thanks in advance!
The text was updated successfully, but these errors were encountered: