Jump to content

Streaming playback settings problems


archangelz

Recommended Posts

archangelz

A couple of problems have popped up with the settings->playback->streaming setting. 

 

Say for example I set the "client bitrate limit" to 100Mbps, on the remote web client what I am finding is even if I have my playback setting at "720p 1Mpbs", the server will try to transcode this as a 100Mbps webm regardless of setting requested on web client. I had it set to 10Mbps because of my connection upload is that speed but then every external web client I had started trying to transcode at that. Tried this on several LiveTV streams. 

 

Also the client does not differentiate between a local network and a remote client? Which is what I thought this setting was for. If you have a 10Mbps upload speed cap on your internet connection, this does not necessarily apply to your LAN. Setting this limit applies to both your LAN and your external clients, which cuts the quality on your LAN clients. Can post logs if needed, but this is easily reproducible. Running version 3.0.5597.1

Link to comment
Share on other sites

the server doesn't transcode at 100mbps. the params it passes into ffmpeg are a max rate, not a desired rate.

 

we do plan to add local/remote bitrate settings

Link to comment
Share on other sites

archangelz

the server doesn't transcode at 100mbps. the params it passes into ffmpeg are a max rate, not a desired rate.

 

we do plan to add local/remote bitrate settings

 

When I looked under the settings menu active devices it's says the bitrate being set to 100? This used to say 1Mbps based on what the client requested setting is. The speed at which my server can transcode is also messed up. My CPU gets pinned when that setting set when it previously wouldn't and client stream playback is unusually slow. I haven't looked at logs though but I can post if required. I know the content is at 4Mbps so even if it transcoded to that it shouldn't be that slow or it should show what the max is for the asset no? 

 

5bdSyWO.png

Edited by archangelz
Link to comment
Share on other sites

archangelz

When I looked under the settings menu active devices it's says the bitrate being set to 100? This used to say 1Mbps based on what the client requested setting is. The speed at which my server can transcode is also messed up. My CPU gets pinned when that setting set when it previously wouldn't and client stream playback is unusually slow. I haven't looked at logs though but I can post if required. I know the content is at 4Mbps so even if it transcoded to that it shouldn't be that slow or it should show what the max is for the asset no? 

 

 

I'll post some logs when I get home but I found it seems to impact my online streaming channel services as well. 

Edited by archangelz
Link to comment
Share on other sites

archangelz

So it looks like the server is ignoring the client requested 1Mbps bitrate and using the maximum of the source material? Looking at the webm file in the transcode cache, the transcoded file is not 1Mbps but the source 15/16Mbps? If the client downstream bandwidth was limited or the server upstream bandwidth was, this would be a problem if the max rate being passed in instead of the client desired rate no? The setting isn't really a maximum stream playback limit for the client so much as a peak transcode limit then

 

y4XRCmr.png

 

Also confirmed the it is likely a reporting problem for the 100Mbps thing. Server and transcode logs attached.

server-63566553600.txt

transcode-c08a6820-92ff-48a8-be0a-237992f7bda9.txt

Edited by archangelz
Link to comment
Share on other sites

archangelz

I definitely attached the wrong set of transcode logs. Here is the one I wanted to point out. 

 

  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1
    creation_time   : 2015-05-05 06:10:41
  Duration: 00:11:45.47, start: 0.000000, bitrate: 2899 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720, 2768 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
    Metadata:
      creation_time   : 2015-05-05 06:10:43
      handler_name    : NeuLion MP4 - Video
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
    Metadata:
      creation_time   : 2015-05-05 06:10:43
      handler_name    : NeuLion MP4 - Audio
    Stream #0:2(eng): Data: none (amf0 / 0x30666D61), 0 kb/s (default)
    Metadata:
      creation_time   : 2015-05-05 06:17:05
      handler_name    : NeuLion MP4 - AMF
[libvpx @ 0000000002cc69a0] v1.3.0
Output #0, webm, to 'C:\Users\Raymond Chan\AppData\Roaming\MediaBrowser-Server\transcoding-temp\2181897aa47f734aef5df34744b0a7c1.webm':
  Metadata:
    encoder         : Lavf56.27.100
    Stream #0:0: Video: vp8 (libvpx), yuv420p, 1280x720, q=0-50, 999872 kb/s, 29.97 fps, 1k tbn, 29.97 tbc (default)
    Metadata:
      encoder         : Lavc56.32.100 libvpx
    Stream #0:1: Audio: vorbis (libvorbis), 44100 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      encoder         : Lavc56.32.100 libvorbis
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> vp8 (libvpx))
  Stream #0:1 -> #0:1 (aac (native) -> vorbis (libvorbis))
 
 

transcode-6143142f-7b38-405f-bf9f-8b339d4359eb.txt

Link to comment
Share on other sites

only way that could happen is if the server doesn't know the birate of the source material. we have to pass in a bitrate value to the encoder or it gets left to encoder defaults and looks bad. so we do a comparison between source and client setting. at the time you played it the media info displayed in the web client probably was missing it's bitrate or other info. i would try refreshing that item.

Link to comment
Share on other sites

archangelz

only way that could happen is if the server doesn't know the birate of the source material. we have to pass in a bitrate value to the encoder or it gets left to encoder defaults and looks bad. so we do a comparison between source and client setting. at the time you played it the media info displayed in the web client probably was missing it's bitrate or other info. i would try refreshing that item.

 

This particular item can't be refreshed though. It's not something in my library as it is hosted externally through the Hockeystreams plugin. Refresh wouldn't help in this case. 

Edited by archangelz
Link to comment
Share on other sites

Then there's nothing that can be done if the plugin doesn't provide any media information. Why not just lower the bitrate. Who really needs 100

Link to comment
Share on other sites

archangelz

Then there's nothing that can be done if the plugin doesn't provide any media information. Why not just lower the bitrate. Who really needs 100

 

Oh I don't need the 100, it just just an example higher than any asset I had to try to find what pinned the upstream connection and CPU the other night. What would happen though is if I have the limit set to my maximum upstream and one client starts streaming hockeystreams, it would chew up the maximum of my upstream bandwidth and starve all the other clients not using hockeystreams. Could the server not just use the client requested setting then if the media information is not provided or missing? All of hockeystreams streams are at 3Mbps, maybe I will request the curator for that one to add that into the media information. 

 

So what can I set the limit to right now as a workaround so the streaming plugin doesn't chew up all the upstream bandwidth? My understanding is the upstream bandwidth limit is a shared pipe across all clients connected to the server. Even if the limit is lowered, the other clients would still starve no?

Edited by archangelz
Link to comment
Share on other sites

 

 

Could the server not just use the client requested setting then if the media information is not provided or missing?

 

?? That is exactly what we are doing here. There is nothing that says hey let's use 100 because we don't have any info. It is coming from the client request.

 

You are better off letting the client worry about their own needs and have them specify 3Mbps. Then in the server dashboard take a look at Playback -> Streaming.

Link to comment
Share on other sites

archangelz

?? That is exactly what we are doing here. There is nothing that says hey let's use 100 because we don't have any info. It is coming from the client request.

 

You are better off letting the client worry about their own needs and have them specify 3Mbps. Then in the server dashboard take a look at Playback -> Streaming.

 

Thanks for reply Luke, 

 

What I mean is the dashboard playback->Streaming setting. Is that the limit per client or is that the total limit shared by all clients? 

 

"An optional streaming bitrate limit for all remote clients. This is useful to prevent clients from requesting a higher bitrate than your connection can handle."

 

I'm not clear on what "all" means.  if I set the playback->streaming limit to 5Mbps, does that mean the 5Mbps is what is allowed by each remote client? or is it if three users are connected they each get 1.67Mbps maximum? If the former, then I'll be okay since I'll be able to set the limit to 1Mbps on each client or something that works for my upstream cap. If the latter, any time hockeystreams is in use it will transcode to 5Mbps because no media info was provided by the plugin (post #8 issue) and server leaves no bandwidth for the other two connected clients because of the applied playback->streaming setting. Which case is it? And if there it's the second case is there a workaround? The client in all my testing was requesting 720p 1Mbps but the server and transcoding logs showed it was higher (100Mbps in my extreme case). Am I misunderstanding the transcoding problem from my earlier post or the playback->streaming setting limit usage?

Edited by archangelz
Link to comment
Share on other sites

nevermind, sorry. wrong setting. in any case, for now i would just set it to 3 and use it and it will work just fine

Link to comment
Share on other sites

archangelz

nevermind, sorry. wrong setting. in any case, for now i would just set it to 3 and use it and it will work just fine

 

Will try that tomorrow. Thanks Luke. 

Link to comment
Share on other sites

saitoh183

@@Luke

 

Im having similar problems. Most of my external users use the webclient. Does the webclient always transcode content regarless of container/codecs?

 

I have throttle enabled and set max bitrate to 1.5Mbps but often i will have 2 people connected via webclient (Chrome) both transcoding and the ffmpeg is just killing the CPU (99%) and people will get stutter because show progress bar catches transcode progress bar. 

 

Is there any way to achieve direct stream via the webclient? @@Angelblue05 played the same file and got direct stream (mp4 AAC H264)

Link to comment
Share on other sites

Angelblue05

In kodi, that is. In the webclient it just transcodes no matter the bitrate setting - I would at least except the webclient to direct stream mp4 aac h264 content, but it doesn't seem to be the case :/

 

 

Sent from my iPhone using Tapatalk

Edited by Angelblue05
Link to comment
Share on other sites

The web client direct streams when possible just like any other app

Link to comment
Share on other sites

saitoh183

The web client direct streams when possible just like any other app

 

@@Luke

When is the "possible" because i have yet to see that happen if ever. No matter what i play or see people play, it transcodes. In what circumstance does it direct stream? 

 

Server: 5597.1

 

Log: https://www.dropbox.com/s/qhjkfxthq9ambx2/server-63566672649.txt?dl=0

Edited by saitoh183
Link to comment
Share on other sites

MSattler

@@Luke

When is the "possible" because i have yet to see that happen if ever. No matter what i play or see people play, it transcodes. In what circumstance does it direct stream? 

 

Server: 5597.1

 

Log: https://www.dropbox.com/s/qhjkfxthq9ambx2/server-63566672649.txt?dl=0

 

I think the question here is what will various browsers support for playback.  I tried googling for this and found no real answers.  

Link to comment
Share on other sites

Angelblue05

Yes, the webclient force transcode everything on my local network. Did something change in the way the detection works?

Let's take, for example - Catfish the TV show

 

Media info - MP4 container - H264 video - AAC audio - Is supported by Chrome according to this https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats:

554d51c068047_Catfish_mediainfo.jpg

 

When I play in the webclient on Chrome, this is all I can select:

554d520e510e8_Catfish_bitrate.jpg

 

In my Emby server - I have not set a limit for bitrate and the transcoding is set to auto. Yet I'm not presented with Direct play or Direct stream.

554d52b0e69ef_Catfish_transcode.jpg

 

@@Luke

So the question is, how can Direct play and Direct stream be achieved in the webclient. When I think of all my users being force to transcode using the simplest interface that is the Webclient, my spine shivers....and no wonder people's cpu can't keep up when everything is forced to transcode on the webclient, when it's not even necessary in the first place (for mp4-h264-aac, that is). :) Oh, and I forgot to point out the fact that quality is very degraded in the webclient (probably due to transcoding).... And this was on local network.

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

saitoh183

This seems to be resolved in version 3.0.5607.1

 

Thanks @@Luke for your hard work! :)

 

@@Luke

 

I tested with emby connect users and it still transcoded...im guessing it is because the emby connect client isnt up to date.

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