3/31/2023 0 Comments Syncplay not startingIt works great for short watch times, but you start to run into problems the longer you watch. Jellyfin thinks the video is 1 hour long and because the MKV file can't natively be played Jellyfin restarts the FFmpeg process in order to continue playing. Jellyfin just keeps playing until we hit the 1-minute mark and when it does, it restarts the FFmpeg process. FFmpeg quickly goes through the data and exits at the 1-minute mark as there is no more video data. When we press play Jellyfin starts a FFmpeg process to remux the video as your browser can't handle the MKV container. Let's say there is 1 minute worth of video available when we press play. Let's say we have a livestream that we are currently downloading using Streamlink, and putting that into a MKV container, that we pretend is 1 hour long, and storing it on disk. It pretty much worked on the first try and the thing I thought of as a negative, the remuxing, was actually the thing that made the whole thing work. ![]() So with that in mind I thought, let's try. Luckily remuxing is a lot lighter than transcoding, so if you make sure the browser supports playing the video and audio codec in the mkv file, it can work on low-end hardware. MKV is a great container format, but there is no support for playing in directly in browsers, so the video has to be at least remuxed first. The video stopped playing when it had played whatever video was there when the file was initially loaded. I did also manage to create a video file that reported itself as being longer than it actually was, but I ran into the original issue once again. MPEG-TS is the format Jellyfin uses when it transcodes video and is built around broadcasting, so on the surface it isn't a bad choice. I tried a few different things with command-line flags in FFmpeg, but I didn't manage to create a video file that said it was longer than it actually was, so I quickly moved on. ![]() With the assumption that the video needed to be played in a browser I needed something widely supported. Then I thought, what if we could trick Jellyfin into thinking the video is longer than it actually is? So I had a look at different media container formats. ![]() The problem was it only recognised whatever video data was there when opening the file and there didn't seem to be an obvious way to get Jellyfin to read the newly written data at the end of the first stint, without restarting video playback. ![]() What I found was that Jellyfin didn't really have a problem with opening a video file that was currently being written to with new data. The first thing I found was that Jellyfin is really made to work with complete video files, which is kind of an issue when you are trying to watch a livestream. I attempted a lot of different things in the beginning trying to figure out what the actual issues were that prevented it from working. This lead me down the rabbit hole of trying to figure out how and if it was even possible and this is what I found. Subscribe Watching livestreams with friends using the SyncPlay feature in Jellyfin AugustĮver since the great SyncPlay feature in Jellyfin came out, I've been wondering if it was possible to use it to watch livestreams.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |