plex-media-player
plex-media-player copied to clipboard
Playback doesn't start in Plex Web for some content (TS H264 EAC3 files)
Test environment
PMS Version: 1.22.2.4282 PMP Version: 4.54.5 Platform : Windows 10 + Microsoft Edge
Steps to reproduce
- Use the Web Player to play a TS file with H264 and EAC3 audio stream.
Current behavior
- The playback fail to start
Expected behavior
- The playback should start and in my opinion the video should be transcoded, as If I disallow direct streaming or force a conversion playback starts.
This is what has been decided by the Plex Web Player for the content I try to watch : "message": "[MDE] Analyzing playability", "message": "[MDE] Finished analysis of: 1080 (mpegts, h264, eac3, 40, high) {\n "canPlay": true,\n "canDirectPlay": false,\n "canDirectStreamVideo": true,\n "canDirectStreamAudio": false,\n "bitrate": 4350,\n "videoResolution": 1080\n}", "time": "2021-04-09T15:13:20.805Z" "message": "[PDE] Player decision: {\n "playerType": "html",\n "protocol": "dash",\n "canDirectPlay": false\n}",
And it seems to me that the transcoder is working (I can see a session started and files being produced but the Web Player doesn't start the playback.
Since there's no error logged in the Plex Web logs then it's mostly likely something about the video stream.
Best input I can provide is to try and identify what about the video/audio streams is the problem.
- If these videos are all the same source then it's possible they share some encoding attribute that is causing the issue.
- Could it be the interlaced video or PAL framerate?
- Does disabling Direct Stream result in the browser playing a PMS transcode correctly?
- Does remuxing the streams into an MP4 direct play correctly?
Other folks in our forums may have additional ideas.
I'll try to remux to MP4 to see if the content can be played. If I disable direct stream (in the plex web debug settings) the video does playback as it should
What I find strange is that the same content (same source / same data) does play when viewed through a Live TV Session. The logs are quite the same except for this
"message": "[MDE] Direct play failed; option is disabled", "message": "[MDE] Cannot direct play: allowDirectPlay",
and this
add-limitation(scope=videoCodec&scopeName=*&type=upperBound&name=video.frameRate&value=60&replace=true)
I attached the debug log when viewing such content through Live TV.
I'm not personally affected by the issue, I only noticed it and find it strange that plyaback wasn't starting for such content, so it could lead people using Plex for the first time that it doesn't work (for someone that do have some content like this, that is recorded content on DVB-T TV)
Remuxing to MP4 doesn't change the behavior : playback fails. Logs attached, The same decision is made : direct play for video / transcode for audio. Log MP4 Mux.txt
If I disable direct stream (in the plex web debug settings) the video does playback as it should
Nice 👍.
What I find strange is that the same content (same source / same data) does play when viewed through a Live TV Session.
This is quite strange. At the risk of being redundant, so playing the same stream via a Live TV session is okay but the recorded sessions do not play? That is super curious.
Does remuxing the streams into an MP4 direct play correctly?
My mistake here, the MP4 needs transcoded audio.
A few log messages back from [MDE] Finished analysis
shows [MDE] Cannot direct play
for the AC3 stream. MDE
is an initialism for Media Decision Engine.
If this file still doesn't direct play then it's a bad video stream. If it does direct play then would you mind sharing a clip of the TS file that reproduces the problem?
The same stream, well not exactly of course, though : I set something to record. If I start a viewing session on the same channel in the live tv epg (clicking watch now), playback starts fine. Then I stop the playback, go to the library and select the recording being recorded, click to watch it and playback never starts.
Are you sure H264 video are supposed to direct play in web browser ?
You will find a small sample here : https://1drv.ms/u/s!Ao8aKlFObh6AgZz2Uj7TSWf_tTXbJrw?e=JfsNQB (this is a zipped file of a TS recording of 5 mn made by Plex)
Are you sure H264 video are supposed to direct play in web browser ?
Yep, we're good there.
You will find a small sample here
Thanks, that's super helpful. I'm unsure what to make of the results I'm seeing using Chrome and PMS 1.22.1.4228-724c56e62.
- Remuxed to MP4 with transcoded audio, file direct plays fine [1].
- Remuxed to TS with transcoded audio, reproduces the infinite spinner. [2].
- Play your TS sample in Chrome and Edge, I can again reproduce the infinite spinner and no error state.
- Firefox and Safari experiences an error when direct streaming. Each falls back to a full transcode to work around.
- Enabling
Use alternate streaming protocol for video playback
in Settings -> Advanced -> Debug does allow playback to start but the video stream is black for each of the TS samples above.
All browsers are streaming the same format from Plex Media Server. Debugging from Plex Web I can see the video is being buffering yet Chrome never instructs our code that it's ready to begin playback or that an error was encountered.
Is it all recordings from some channels or all channels that experience the behavior? If it's some channels, will you please explain more which channels in particular?
-
ffmpeg -i La\ p\'tite\ librairie\ -\ 2020-04-15\ 00\ 00\ 00\ -\ Episode\ 04-15.ts -c:v copy -c:a aac pmp-issue-1020.mp4
-
ffmpeg -i La\ p\'tite\ librairie\ -\ 2020-04-15\ 00\ 00\ 00\ -\ Episode\ 04-15.ts -c:v copy -c:a aac pmp-issue-1020.ts
With FireFox (85.0.2) it does work with only the audio transcoded (as far as I can see in the logs and in the dashboard). One thing that may be used is when I try to playback in Edge, the playback won't start : but nothing sows up in the dashboard (but a transcode session exists and will terminate after a timeout). As a workaround it maybe possible to assume that whatever the plex server use to reflect a playback in the dashboard, when missing right after a transcode session, is that something went wrong and either force the player to error out or force it to full transcode...
Otherwise, yes it's all recordings with H264 (French channels / English channels), recordings with MPEG2 plays fine (Though I do not record all channels of course).
If playback is fine on Firefox but fails on Edge on the same computer, it means that something is wrong in the playback engine in Edge / Chromium (either in Plex code or chromium code) ?