Jump to content

Problem with Rokutv and transcoding.


Recommended Posts

Posted

I setup Emby server with TVH to run iptv via m3u and it works almost perfect on my windows pc and Samsung tv but on my Roku tv History channel will infinite load even tho tvh is still watching the stream and then when you go back or even exit out the app then the connection will still be stuck in TVH then I have to kill the connection manually because emby did not tell TVH it exited the stream. Other channels work fine I tried about 30 other channels and they loaded perfect its just History HD. I have tried changing my quality profile in Emby settings on my roku tv from auto to 4k 60mbps and I also tried 1080p FHD 60mbps and it didnt seem to change anything. I also tried limiting framerate to 30 fps in Emby settings on my roku tv, it didnt help. This is not an issue with my iptv provider, I think it has something to do with Embys transcoding. Any ideas would be great.

Posted
  • Exactly what you were doing and what happened.  I clicked on HistoryHD channel to watch it and then I just got a infinite loading screen and then I sent the log.
  • The time you sent the log (in Eastern Time please - UTC -5)  8:24 AM EST Is when I sent the log.
  • The name of the Emby user on the local server that was logged in at the time  Username: John
Posted

Hi.  Please post the server and ffmpeg log from when the problem occurred.

Posted

Hi, I know this person, so I want to chime in with my findings. I have the same tv provider, and also using TV Headend and Emby.

The channel works from tvheadend directly to VLC. It also works in Emby via the Emby Android app and via web browser. As he mentioned, it works on his Samsung TV.

The only place it does not work is Roku Emby app. So that is where the trouble sits. I have looked at the stream info data in VLC to see if this channel is using some strange codec or something else, and it lines up with other channels that work fine on Roku. I cant seem to find anything that makes this channel different.

I am looking at logs now. Agent47 if you can post your logs for ebr  that would be great.

Posted

TranscodeReasons=ContainerBitrateExceedsLimit
TranscodeReasons=ContainerBitrateExceedsLimit,DirectPlayError&allowVideoStreamCopy=false
TranscodeReasons=ContainerBitrateExceedsLimit,DirectPlayError&allowVideoStreamCopy=false
TranscodeReasons=ContainerBitrateExceedsLimit,DirectPlayError
TranscodeReasons=ContainerBitrateExceedsLimit,DirectPlayError&allowVideoStreamCopy=false
TranscodeReasons=ContainerBitrateExceedsLimit,DirectPlayError&allowVideoStreamCopy=false

The allowVideoStreamCopy being added to the end would only happen if there was an actual error or you used Playback Correction. The ffmpeg logs only get created when transcoding happens. Direct play logs aren't created.

 

header("Content-Type: application/vnd.apple.mpegurl");

The Roku doesn't understand the application type. Are these headers you are creating?

header("Content-Type: application/x-mpegURL");

It might work if instead you sent the content type as this.

Posted

Not sure at all what you mean speechles. We are not sending headers or doing anything crazy. Just trying to watch a channel on emby that works on every device except for Rokus.

Posted
4 minutes ago, speechles said:

The part with "Headers: Content-Type=application/vnd.apple.mpegurl"  at the end there. Roku cannot play this type of content-type. Thats why I was asking how are these headers being generated? Can you correct them?

Where are you seeing that?

Posted (edited)
27 minutes ago, Luke said:

Where are you seeing that?

Quote

2025-07-10 08:42:12.875 Info DynamicHlsService-0HNDU6BCRQMUO:00000001: http/1.1 Response 200 to ‌‍‍0.0.0.0‌. Time: 2ms. GET ‌/emby/videos/1737367/live.m3u8?DeviceId=9a0a5c1b-60f1-5bda-8ba0-4e130dc3b5ea&MediaSourceId=c510a109b483718d5df50c55b41602ca&PlaySessionId=c20baf9d15c74b6a88fab0e51a75f448&api_key=‌16280f4e38f64e1dbbfa4401820a63cb‌&LiveStreamId=06044cf0e6f93cdae5f285c9ecfaaeb4_01413a525b3a9622ce6fdf19f7dde354_c510a109b483718d5df50c55b41602ca&VideoCodec=h264,hevc,mpeg2video&AudioCodec=ac3,aac,mp2,mp3,eac3,flac,vorbis,lpcm&VideoBitrate=34872074&AudioBitrate=127926&MaxWidth=3840&MaxHeight=2160&AudioStreamIndex=1&TranscodingMaxAudioChannels=8&SegmentContainer=ts&SegmentLength=3&MinSegments=1&AllowInterlacedVideoStreamCopy=True&BreakOnNonKeyFrames=True&SubtitleStreamIndexes=-1&ManifestSubtitles=vtt&h264-maxrefframes=16&h264-videobitdepth=8&h264-maxframerate=30&h264-profile=high,main,baseline,constrainedbaseline&h264-deinterlace=true&h264-level=41&h264-videorotation=0&mpeg2video-videorotation=0&mpeg2video-maxframerate=30&mpeg2video-deinterlace=true&hevc-videorotation=0&hevc-maxframerate=30&hevc-codectag=hvc1,hev1,hevc,hdmv,dvh1,dvhe&aac-audiochannels=6&eac3-audiochannels=8&ac3-audiochannels=6&flac-audiochannels=6&lpcm-audiochannels=6&mp3-audiochannels=2&mp2-audiochannels=2&vorbis-audiochannels=6&TranscodeReasons=ContainerNotSupported. Headers: Content-Type=application/vnd.apple.mpegurl, Date=Thu, 10 Jul 2025 12:42:12 GMT, Server=UPnP/1.0 DLNADOC/1.50, Cache-Control=no-cache, no-store, no-transform, must-revalidate, Content-Encoding=br, Expires=-1, Pragma=no-cache, no-store, no-transform, must-revalidate, Vary=Accept-Encoding, Content-Length=259, Cross-Origin-Resource-Policy=cross-origin, Private-Network-Access-Name=JellyMedia Server, Private-Network-Access-Id=f31029750f7d423d9853ffc34d483ba8

In his Emby Server logs.

image.png.eeb70b6b66d3d8a52298da3289077517.png

The Roku supports all these content-type and that is among them. His Roku is saying the container isn't supported when fed the m3u8. Then it starts to roll through playback correction and eventually fails altogether to play at all. It isn't because of the content-type like I thought. It has to do with something else.

Edited by speechles
Posted

The Roku player is reporting "malformed data" trying to interpret the stream so the headers could very well be the issue.

Posted
Posted

I am able to watch US: MTV HD now, I have changed nothing on my end.

Posted
22 hours ago, Agent47 said:

I am able to watch US: MTV HD now, I have changed nothing on my end.

Hi.  This would be fairly clear evidence that it is an issue at the source.  Some players are more tolerant of bad inputs.  The Roku player is not tolerant at all.  It expects basically a perfectly formed input.

Posted

We can give feed back to the provider, but we are not sure what to tell them. The codecs and all other stuff as far as I can tell are the same on this channel over others, at least looking at VLC. If we knew what was wrong that the Roku hated, that would be helpful.

Posted

If it is a problem with Roku then why can Jellyfin stream the same channel from the same M3U?image.png.75c5fb379bc1c3dd76f3501686aa9bba.png

Posted (edited)

They are converting to 62 frames per second? Or is that the frames per second the media is? Why is it 62?

My guess is JellyFin isn't checking framerate at all and will throw incompatible media at the player hoping it will play. Even though it is 62 frames per second. The Roku player can and will drop frames every second if this direct plays. While we try to keep within the specifications that Roku has given us and would transcode this to 60 frames per second instead of leaving it at 62 frames per second.

Can you do an apples to apples test and show us the ffmpeg log created when you try that same channel/m3u with Emby as with JellyFin? Seeing the Emby ffmpeg log from that when they can play and we cannot would definitely give us the reason why.

image.thumb.jpeg.2760e8d7c3569e27a105603478b1dcd9.jpeg

Make sure this setting is set to YES.

Edited by speechles

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...