Jump to content

Transcode Throttle appears to be broken


VirtualLlama

Recommended Posts

VirtualLlama

When casting a video to Chromecast that requires transcoding Emby doesn't seem to honor the "Enable throttling" setting under Transcoding. Instead of throttling CPU usage once the transcode buffer reaches approximately 2 minutes the video is transcoded at full speed until the entire video has been rendered. The setting works fine when playing a video via the web player in Firefox or the iOS Emby app.

This is using Emby 4.5.1.0 on Debian 10. The Chromecast is a 2nd gen.

I have included a transcode log from the Chromecast where throttling doesn't work and one from Firefox 81.0 where it does work.

embyserver.txt ffmpeg-transcode-aed7a5a4-1fe1-48dc-a674-bcd223c0e71b_1 - Chromcast throttle not working.txt ffmpeg-transcode-dbd4e204-42c5-4b51-83bd-18cfbed3e4c2_1 - web player throttle working.txt

Edited by VirtualLlama
Link to comment
Share on other sites

  • 3 weeks later...
VirtualLlama

Hi @Luke, sorry I've been an idiot and swapped the names of the log files. The one with the issue is the one called throttle working.

To avoid further confusion here is a new set of log files. When I stopped the playback the transcode buffer was up to approximately 8 minutes and it will just keep going at full speed until all of the movie has been transcoded.

Again, this only appears to be an issue with Chromecast. It works fine when I play a movie in an Emby app or via the web player.

 

 

embyserver.txt ffmpeg-transcode-9860c0d9-fd50-42b3-a435-5483394328b0_1.txt

Edited by VirtualLlama
Link to comment
Share on other sites

xsnipuhx

Hi

It looks like throttle transcodes is broken. When a stream starts up that needs transcoding, it does the entire episode/movie all in one go, instead of on demand.

I have attached a dashboard snippet along with a embyserver log.

Any help would be appreciated.

Thanks!

Capture.PNG

embyserver.txt

Edited by xsnipuhx
Link to comment
Share on other sites

Hi, Check to make sure you have "Enable throttling" enabled on the the transcoding menu, advanced settings.

Link to comment
Share on other sites

Do you have an ffmpeg log associated with that playback?  Can you try playing that again and see if an ffmpeg log is created?

Link to comment
Share on other sites

Due to the throttle being an important feature for me personally, I just tried it myself using ChromeCast and there actually is an issue.
I don't know yet if it's related to ChromeCast or to transcoding in general.
Will try to narrow it down and give feed back.

€dit: @softworkz might have a clue.

Edited by neik
Link to comment
Share on other sites

BTW, I just played back an HEVC file to chrome to cause a transcode, it's it's not a chromecast issue.

Link to comment
Share on other sites

The throttle not kicking in at all seems to be a transcoding issue though.

While direct streaming it kicks in but the buffer continues to increase second by second at a very slow pace if you let it sit for a bit.

Link to comment
Share on other sites

Happy2Play

It appears to working fine for me, log and UI show it kicking on and off.

2 hours ago, xsnipuhx said:

Here's the log for the episode in the picture above.

 

ffmpeg-transcode-5c490fb8-ee8d-4ac9-bbd4-d48723390d9b_1.txt 90.39 kB · 1 download

to me this may be a possibly a file issue.

>> ThrottleBySegmentRequest: Latest request position unknown

 

Edited by Happy2Play
Link to comment
Share on other sites

xsnipuhx
Just now, Happy2Play said:

It appears to working fine for me, log and UI show it kicking on and off.

to me this may be a file issue.


>> ThrottleBySegmentRequest: Latest request position unknown

 

On multiple files, even ones that have played before without this issue?

Link to comment
Share on other sites

Happy2Play

I can see it working in the log, just not in UI for HEVC

12:42:14.024 frame= 3739 fps= 26 q=28.0 size=   17131kB time=00:02:36.07 bitrate= 902.8kbits/s throttle=off speed=1.06x    
>> ThrottleBySegmentRequest: RequestPosition: 00:02:33 - TranscodingPosition: 00:02:36 - ThrottleBuffer: 3s (Treshold: 120s)
12:42:14.611 frame= 3756 fps= 26 q=28.0 size=   17209kB time=00:02:36.88 bitrate= 902.2kbits/s throttle=off speed=1.07x    
12:42:14.890 [segment @ 000001ae72cada80] Opening 'C:\Users\Media\Desktop\Stable\programdata\transcoding-temp\857C0D.m3u8.tmp' for writing
12:42:14.931 SegmentComplete=video:0 Index=51 Start=153.153000 End=156.156000 Duration=3.003000 offset_pts=0 start_pts=153153000 Frames=72 filename=857C0D_51.ts
12:42:14.932 [segment @ 000001ae72cada80] Opening 'C:\Users\Media\Desktop\Stable\programdata\transcoding-temp\857C0D_52.ts.tmp' for writing
12:42:15.118 frame= 3773 fps= 26 q=28.0 size=   17321kB time=00:02:37.65 bitrate= 903.6kbits/s throttle=off speed=1.07x    
12:42:15.654 frame= 3789 fps= 26 q=28.0 size=   17409kB time=00:02:38.37 bitrate= 904.1kbits/s throttle=off speed=1.07x    
>> ThrottleBySegmentRequest: RequestPosition: 00:02:33 - TranscodingPosition: 00:02:38 - ThrottleBuffer: 5s (Treshold: 120s)
12:42:16.134 frame= 3803 fps= 26 q=28.0 size=   17494kB time=00:02:38.92 bitrate= 905.3kbits/s throttle=off speed=1.07x    
12:42:16.718 frame= 3828 fps= 26 q=28.0 size=   17633kB time=00:02:40.05 bitrate= 906.0kbits/s throttle=off speed=1.07x    
12:42:16.878 [segment @ 000001ae72cada80] Opening 'C:\Users\Media\Desktop\Stable\programdata\transcoding-temp\857C0D.m3u8.tmp' for writing
12:42:16.919 SegmentComplete=video:0 Index=52 Start=156.156000 End=159.159000 Duration=3.003000 offset_pts=0 start_pts=156156000 Frames=72 filename=857C0D_52.ts
12:42:16.919 [segment @ 000001ae72cada80] Opening 'C:\Users\Media\Desktop\Stable\programdata\transcoding-temp\857C0D_53.ts.tmp' for writing
12:42:17.196 frame= 3848 fps= 26 q=28.0 size=   17782kB time=00:02:40.82 bitrate= 909.3kbits/s throttle=off speed=1.07x    
12:42:17.707 frame= 3871 fps= 26 q=28.0 size=   17875kB time=00:02:41.83 bitrate= 908.3kbits/s throttle=off speed=1.08x    
>> ThrottleBySegmentRequest: RequestPosition: 00:02:33 - TranscodingPosition: 00:02:41 - ThrottleBuffer: 9s (Treshold: 120s)

But can see it on and off for H264 in the Dashboard.  

So on my Windows system it appears to be working.

Link to comment
Share on other sites

13 minutes ago, Happy2Play said:

So on my Windows system it appears to be working.

This might be the difference, I am on Linux (Ubuntu 20.04.1 LTS, Kernel 5.4.0.48) and latest stable server.

Link to comment
Share on other sites

xsnipuhx

I am on Windows Server. I just prepped my server for a fresh OS. I'll be doing that tonight. I'll report back on if that fixes the issue. Hopefully it also fixes my lifetime Emby premiere key sticking since it appears to disappear and never save.

Link to comment
Share on other sites

Happy2Play

Everyo ne need to post logs, but the OP log is not reporting position.

 

scroll2.gif.25ae693ec96669191c42d8544e6c2f2a.gif

 

scroll.gif.fb5e8d666d8f4f5cf87c29eff850110f.gif

 

Edited by Happy2Play
Link to comment
Share on other sites

Q-Droid

Can confirm. Playback on Chromecast is not throttling when transcoding or direct streaming (remux). The conversion keeps going even if you pause playback.

 

Link to comment
Share on other sites

Happy2Play

Okay this would appear to be a Chromecast specific issue as I can not reproduce it anywhere else.

Log shows "ThrottleBySegmentRequest: Latest request position unknown"

@Luke stable and beta

Test from iPhone to TV.

Edited by Happy2Play
  • Like 1
Link to comment
Share on other sites

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...