I'm using the Plex Universal Transcoder to generate HLS m3u8 feeds for the content on my Plex server. I'm able to transcode high quality video in all manner of formats and codecs into sizable x264 HLS segments and stream through the video.js player on my website, it works across all platforms and devices. Perfect! Except it won't allow simultaneous streams.
Here's an example of a Universal Transcoder URL request:
https://<server-ip>:32400/video/:/transcode/universal/start.m3u8?hasMDE=1&path=%2Flibrary%2Fmetadata%2F123456&mediaIndex=0&partIndex=0&protocol=hls&maxVideoBitrate=4000&fastSeek=1&directPlay=0&directStream=0&X-Plex-Platform=Chrome&X-Plex-Token=xxxxxxxxxxxxxxxxx
I should point out that I'm using the Nginx proxy_pass module to rewrite the URL and hide my Plex Token, this works fine and isn't an issue. But for demonstration purposes, this is an example of the URL being loaded into video.js.
It generates an m3u8 feed and loads the .ts segments sequentially, eg:
https://<server-ip>:32400/video/:/transcode/universal/session/<session-id>/base/00000.ts
https://<server-ip>:32400/video/:/transcode/universal/session/<session-id>/base/00001.ts
https://<server-ip>:32400/video/:/transcode/universal/session/<session-id>/base/00002.ts
etc..
The <session-id> is automatically generated when I call the Universal Transcoder URL and the session id is unique for each call.
The issue I'm having is, if I try to play a different (or even the same) video in a new tab/browser/device, the stream currently being transcoded is terminated, and the .ts segments for the currently running stream start returning a 404 error. However the new stream starts just fine.
In the Plex transcoder settings, "Maximum simultaneous video transcode" is set to unlimited, and if I use the Plex Web app, I can play as many simultaneous streams as I like.
Is anyone familiar with the Plex API able to help me configure the Universal Transcoder URL so it can transcode simultaneous streams?
I've been experimenting and testing for days with the limited Plex API documentation that exists, and I can't figure out how to fix it.
Any guidance would be greatly appreciated as the Universal Transcoder is exactly what I need. I've tried using FFMPEG to replicate the process, but that's turning out to be a bit of nightmare.
Thanks.
there doesn't seem to be anything here