Jump to content

Buffering on a Gigabit local network


embyben

Recommended Posts

embyben

When I watch large file movies I am still getting buffering and have to enforce transcoding. The most recent was streaming at 68mbps and had to be transcoded to 15mbps. My entire network is a gigabit network so I'm not happy this is happening.

Where should I investigate and how?

I am running Emby Server 4.7.13 via a docker container on an OpenMediaVault instance. The docker containers are networked with macvlans.

The server is on a different network so the traffic does route via my firewall however this is specced quite high. 

The local LAN is also a gigabit switch and the buffering occurs on both my TV and PC which is on the LAN.

 A mock-up of my network is below. 

RDT_20230603_2042375977131415099811578.thumb.jpg.08f2a9b16d308a88294b2ad8ff82efca.jpg

 

Link to comment
Share on other sites

Q-Droid

You'll be asked to provide Emby server logs and transcoding logs for the playback sessions with buffering. Also add a hardware detection log from Emby server startup.

Run tests with and without transcoding for high and low bitrate sources and attach the logs that include the beginning and end of the sessions. If you want to attach cleaner sets of logs you can restart Emby or force a log rotation between each test.

 

Link to comment
Share on other sites

GrimReaper
Quote
&TranscodeReasons=SubtitleCodecNotSupported

As a first step, you should try playing that item without subs selected or obtain external text-based subs. 

Also, you might wanna think about getting rid of that excessive number of embedded graphical subs. 

Your server apparently doesn't have the muscle for such high bitrate transcoding either, as your speed is well below 1x which is bare minimum for real-time transcode:

Quote
22:05:43.344 elapsed=00:00:01.56 frame=    2 fps=1.3 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A throttle=off speed=   0x    
22:05:43.352 elapsed=00:00:02.85 frame=    3 fps=1.1 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A throttle=off speed=   0x    
22:05:43.909 elapsed=00:00:03.37 frame=   16 fps=4.7 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A throttle=off speed=   0x    
22:05:44.402 elapsed=00:00:03.89 frame=   28 fps=7.2 q=28.0 size=N/A time=00:00:00.00 bitrate=N/A throttle=off speed=   0x    
22:05:44.921 elapsed=00:00:04.42 frame=   62 fps= 14 q=28.0 size=N/A time=00:00:00.00 bitrate=N/A throttle=off speed=   0x    
22:05:45.497 elapsed=00:00:04.93 frame=   93 fps= 19 q=28.0 size=N/A time=00:00:00.00 bitrate=N/A throttle=off speed=   0x    
22:05:45.636 [segment @ 0x215c180] Opening '/config/transcoding-temp/CC9702/CC9702.m3u8.tmp' for writing
22:05:45.636 SegmentComplete=video:0 Index=0 Start=0.000000 End=3.003000 Duration=3.003000 offset_pts=0 start_pts=0 Frames=72 filename=CC9702_0.ts
22:05:45.636 [segment @ 0x215c180] Opening '/config/transcoding-temp/CC9702/CC9702_1.ts.tmp' for writing
22:05:45.990 elapsed=00:00:05.45 frame=  110 fps= 20 q=28.0 size=N/A time=00:00:00.00 bitrate=N/A throttle=off speed=   0x    
22:05:46.506 subtitle_kickoff: resend - pts: 5422
22:05:46.506 subtitle_kickoff: call subtitle_resend_current 5432 frame->format: 1
22:05:46.527 elapsed=00:00:06.01 frame=  123 fps= 20 q=28.0 size=N/A time=00:00:00.50 bitrate=N/A throttle=off speed=0.0838x    
22:05:47.039 elapsed=00:00:06.51 frame=  135 fps= 21 q=28.0 size=N/A time=00:00:01.00 bitrate=N/A throttle=off speed=0.155x    
22:05:47.514 elapsed=00:00:07.02 frame=  135 fps= 19 q=28.0 size=N/A time=00:00:01.87 bitrate=N/A throttle=off speed=0.267x    
22:05:48.043 elapsed=00:00:07.55 frame=  135 fps= 18 q=28.0 size=N/A time=00:00:02.80 bitrate=N/A throttle=off speed=0.372x    
22:05:48.597 elapsed=00:00:08.10 frame=  135 fps= 17 q=28.0 size=N/A time=00:00:03.76 bitrate=N/A throttle=off speed=0.465x    
22:05:49.153 elapsed=00:00:08.66 frame=  135 fps= 16 q=28.0 size=N/A time=00:00:04.75 bitrate=N/A throttle=off speed=0.549x    

 

Edited by GrimReaper
  • Agree 1
Link to comment
Share on other sites

Q-Droid

You're trying to play 4k HEVC HDR and it has to transcode in software because your hardware doesn't support it. What is the CPU, 2nd or 3rd gen Intel? If so it can't handle the workload and why you have to reduce the output bitrate to something it can handle. As posted above the graphical subtitles can make things worse.

Another thing is that when transcoding from h265 to h264 while trying to maintain the same quality level will roughly double the bitrate. That's even more work on the CPU and possibly a bottleneck at the playback device like a TV or streaming box if they only have a 100mbps LAN interface or slower wifi chipset.

 

  • Like 1
Link to comment
Share on other sites

Q-Droid

Pretty much. If you want to avoid transcoding then stick to compatible media sources or convert (pre-transcode) in advance so they can direct play.

Find out why it's transcoding in the first place.  Likely no HDR support on your TV and PC. You can take this same movie and convert it within Emby then stream again to test. From the looks of it will take longer to convert than actual play time unless you reduce the bitrate.

 

Link to comment
Share on other sites

embyben

Why would using a web browser (Microsoft Edge) to play movies transcode to H264 and not play H265 directly?

Link to comment
Share on other sites

GrimReaper
10 minutes ago, embyben said:

Why would using a web browser (Microsoft Edge) to play movies transcode to H264 and not play H265 directly?

Because no HWA. 

8 minutes ago, embyben said:

Just found https://html5test.com/ and can see the browser doesnt have h265 support.

It does, with compatible hardware. 

Link to comment
Share on other sites

Q-Droid

HDR is another factor. Even with hevc support it would have to transcode for SDR displays/devices. 

Link to comment
Share on other sites

embyben

Thanks @GrimReaper

The PC playing the H265 movie does have Hardware Acceleration is enabled though?

image.png.9b74cce5f7444a1d4970f9d1bcc921d2.png

 

The TV is a Sony A80J running Google TV. I assume it has the latest update and no H265 codec. Yet. 

Link to comment
Share on other sites

embyben

Ok Im learning lots tonight. 

HDR is a setting in Windows 11 and the monitor has to support it. Which mine does. 

image.png.7a5845b138e8e4703fcb6fa7032aaea3.png

H265 is now enabled.

image.png.9cba4473104262ce3e2f67d6d3621781.png

Link to comment
Share on other sites

GrimReaper
10 minutes ago, embyben said:

The PC playing the H265 movie does have Hardware Acceleration is enabled though

It does, but your item is transcoding due to unsupported audio (which in case of 4K HDR also triggers video transcoding):

Quote
&TranscodeReasons=AudioCodecNotSupported,DirectPlayError&allowVideoStreamCopy=false

For Edge playback, you would want AAC/AC3.

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

rbjtech

So couple of options for direct hevc playback - 1) use the hevc Extension for Edge - free if you hunt a little .. (I can play hevc directly in my browser without any issues) or 2) use the Emby Theatre for Windows instead - it will play most codecs assuming your hardware supports it (incl HD Audio), this requires premier. (Emby Theater - Emby)  - Dolby Vision support may need some tweaking.

When testing hevc, use basic lossy audio tracks, such as AC3 .. then move onto HD Audio tracks.

Edited by rbjtech
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...