Jump to content

How to specify what subnets are local for transcoding over vpn


grid-hibiscus-pancake

Recommended Posts

grid-hibiscus-pancake

I have couple of users who are outside my network but still can access my server via vpn.

 

I set a bitrate in the playback settings of 1mbit.

"An optional per-stream bitrate limit for all out of network devices. This is useful to prevent devices from requesting a higher bitrate than your internet connection can handle. This may result in increased CPU load on your server in order to transcode videos on the fly to a lower bitrate."

 

But it doesn't look like it's working. I want to limit anything outside of my network to 1mbit and force transcoding.

 

Here is my setup:

 

There is NO access from WAN.

 

Server side: 192.168.1.0/24 <-- SITE TO SITE VPN --> 192.168.10.0/24 Remote site

 

It seems when the users access server from 192.168.10.0/24 emby just direct plays content there is no limit. the files that are being played are huge (1080p/ 4k etc... ) so that saturates my upstream immediately.

 

Plex solves this by a setting that you can set "Networks that belong to local net" and anything that's outside that range is considered remote and limits are enforced.

 

Is there a way to implement this?

 

 

 

Link to comment
Share on other sites

Hi, yes it's definitely possible, but i'll need to see a server log example so that i can understand what is happening in emby server, thanks.

Link to comment
Share on other sites

grid-hibiscus-pancake

Can I submit some logs privately?

 

Otherwise i think this is relevant:

 

Remote user is on 192.168.15.31

Server is on 192.168.1.45:8096

 

What's interesting to me is (im guessing below shows that it is in local network when it's not :)

 

By the way is it possible to obfuscate logs by default on export?

RemoteClientBitrateLimit: 5000000, RemoteIp: 192.168.15.31, IsInLocalNetwork: True
2018-01-16 04:59:50.496 Info HttpServer: HTTP Response 200 to 192.168.15.31. Time: 11ms. http://192.168.1.45:8096/emby/Users/e23e65400c97497ba27be785793072d3/Items/34a0526810a8409133b96a8cd3c41a13?fields=Overview 
2018-01-16 04:59:50.908 Info HttpServer: HTTP POST http://192.168.1.45:8096/emby/Items/34a0526810a8409133b96a8cd3c41a13/PlaybackInfo?UserId=e23e65400c97497ba27be785793072d3&maxstreamingbitrate=80000000&starttimeticks=00000000. UserAgent: Roku/DVP-8.0 (178.00E04128A)
2018-01-16 04:59:50.965 Info App: User policy for ##USER. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
2018-01-16 04:59:50.966 Info App: Profile: Roku SG, Path: /media/tv/The Show/Season 05/The Show - 5x10 - The Episode [1080p WEB-DL].mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: True
2018-01-16 04:59:50.967 Info App: RemoteClientBitrateLimit: 5000000, RemoteIp: 192.168.15.31, IsInLocalNetwork: True
2018-01-16 04:59:50.967 Info App: Profile: Roku SG, Path: /media/tv/The Show/Season 05/The Show - 5x10 - The Episode [1080p WEB-DL].mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: True
2018-01-16 04:59:50.967 Info App: RemoteClientBitrateLimit: 5000000, RemoteIp: 192.168.15.31, IsInLocalNetwork: True
2018-01-16 04:59:50.967 Info App: Profile: Roku SG, Path: /media/tv/The Show/Season 05/The Show - 5x10 - The Episode [1080p WEB-DL].mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: True
2018-01-16 04:59:50.967 Info App: RemoteClientBitrateLimit: 5000000, RemoteIp: 192.168.15.31, IsInLocalNetwork: True
2018-01-16 04:59:50.968 Info HttpServer: HTTP Response 200 to 192.168.15.31. Time: 60ms. http://192.168.1.45:8096/emby/Items/34a0526810a8409133b96a8cd3c41a13/PlaybackInfo?UserId=e23e65400c97497ba27be785793072d3&maxstreamingbitrate=80000000&starttimeticks=00000000 
2018-01-16 04:59:51.261 Info HttpServer: HTTP GET http://192.168.1.45:8096/emby/Videos/34a0526810a8409133b96a8cd3c41a13/index.bif?width=320&mediaSourceId=34a0526810a8409133b96a8cd3c41a13. Connection=close, Host=192.168.1.45:8096, User-Agent=Roku/DVP-8.0 (178.00E04128A)
2018-01-16 04:59:51.261 Error HttpServer: Could not find handler for /emby/Videos/34a0526810a8409133b96a8cd3c41a13/index.bif
2018-01-16 04:59:51.262 Info HttpServer: HTTP Response 404 to 192.168.15.31. Time: 2ms. http://192.168.1.45:8096/emby/Videos/34a0526810a8409133b96a8cd3c41a13/index.bif?width=320&mediaSourceId=34a0526810a8409133b96a8cd3c41a13 
2018-01-16 04:59:51.266 Info HttpServer: HTTP GET http://192.168.1.45:8096/emby/Videos/34a0526810a8409133b96a8cd3c41a13/stream?static=true&mediaSourceId=34a0526810a8409133b96a8cd3c41a13. Host=192.168.1.45:8096, User-Agent=Roku/DVP-8.0 (178.00E04128A), Accept=*/*
2018-01-16 04:59:51.283 Info HttpResultFactory: Transmit file /media/tv/The Show/Season 05/The Show - 5x10 - The Episode [1080p WEB-DL].mkv
2018-01-16 04:59:51.411 Info HttpServer: HTTP GET http://192.168.1.45:8096/emby/Videos/34a0526810a8409133b96a8cd3c41a13/stream?static=true&mediaSourceId=34a0526810a8409133b96a8cd3c41a13. Host=192.168.1.45:8096, Range=bytes=1360348572-, User-Agent=Roku/DVP-8.0 (178.00E04128A), Accept=*/*
2018-01-16 04:59:51.417 Info HttpResultFactory: Setting range response values for /media/tv/The Show/Season 05/The Show - 5x10 - The Episode [1080p WEB-DL].mkv. RangeRequest: bytes=1360348572- Content-Length: 28029, Content-Range: bytes 1360348572-1360376600/1360376601
2018-01-16 04:59:51.432 Info HttpServer: HTTP Response 206 to 192.168.15.31. Time: 21ms. http://192.168.1.45:8096/emby/Videos/34a0526810a8409133b96a8cd3c41a13/stream?static=true&mediaSourceId=34a0526810a8409133b96a8cd3c41a13 
2018-01-16 04:59:51.542 Info HttpServer: HTTP POST http://192.168.1.45:8096/emby/Sessions/Playing. UserAgent: Roku/DVP-8.0 (178.00E04128A)
2018-01-16 04:59:51.562 Info HttpClient: POST: https://api.pushover.net/1/messages.json
2018-01-16 04:59:51.565 Info HttpServer: HTTP Response 204 to 192.168.15.31. Time: 23ms. http://192.168.1.45:8096/emby/Sessions/Playing 
2018-01-16 04:59:51.586 Info HttpServer: HTTP GET http://192.168.1.45:8096/emby/System/ActivityLog/Entries?startIndex=0&limit=7&minDate=2018-01-15T04%3A59%3A51.212Z. UserAgent: Mozilla/5.0 (Linux; Android 8.1.0; Pixel XL Build/OPM1.171019.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/63.0.3239.111 Mobile Safari/537.36
2018-01-16 04:59:51.597 Info HttpServer: HTTP Response 200 to 192.168.1.100. Time: 11ms. http://192.168.1.45:8096/emby/System/ActivityLog/Entries?startIndex=0&limit=7&minDate=2018-01-15T04%3A59%3A51.212Z 
Link to comment
Share on other sites

Yes, please feel free to send them to me over PM.

 

 

 

By the way is it possible to obfuscate logs by default on export?

 

We plan to add this in the future.

  • Like 1
Link to comment
Share on other sites

Fratopolis

@@grid-hibiscus-pancake, so how would you prefer to be able to enter this? via prefixes or full addresses individually?

Maybe you could add a "Remote (VPN) access:" like you do with "Remote (WAN) access:" and state the subnet the vpn is on in emby server 192.168.10.0/24      Sorry forgot the port number in the picture for VPN  :( (I do not need this but I think that is what he is saying)

 

5a6369a85dc71_Untitled.png

Edited by Fratopolis
Link to comment
Share on other sites

grid-hibiscus-pancake

Hi @@Luke!

 

Sorry I was away for few days, how does below sound?

 

@@grid-hibiscus-pancake, so how would you prefer to be able to enter this? via prefixes or full addresses individually?

I think the easiest thing is to do what Plex does. Since this has nothing really to do with VPN. And this way it will be consistent across products :)

 

 

Label: LAN Networks

Entry field example: 192.168.1.0/24,192.168.15.0/24, 10.10.10.5, 192.168.20.5

 

Description: Comma separated list of IP addresses or IP/netmask entries for networks that will be considered on local network when

enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network.

5a63714fdc25f_plexlan.png

Edited by grid-hibiscus-pancake
  • Like 1
Link to comment
Share on other sites

grid-hibiscus-pancake

Ok you can try this out in the next beta release, thanks.

I am using docker and for some reason latest emby is Version 3.2.70.1 but emby shows 70.2 availabe. beta  pulling from emby/embyserver_netcore:beta is this normal?

Also where should I be looking for lan setting?

Edited by grid-hibiscus-pancake
Link to comment
Share on other sites

grid-hibiscus-pancake

Hi @@Luke

 

I still see the old version: 3.2.70.1 in emby/embyserver_netcore:beta (as you mentioned to use for docker in another thread a while back)

 

Should I switch to another repo?

Link to comment
Share on other sites

grid-hibiscus-pancake

Hi @@Lukas I tried new beta build and it still direct streaming for some reason let me know if you need me to test something else

2018-01-30 19:53:35.687 Info Main: Emby
    Command line: /system/EmbyServer.dll -programdata /config -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
    Operating system: Unix 4.9.0.5
    64-Bit OS: True
    64-Bit Process: True
    User Interactive: True
    Processor count: 4
    Program data path: /config
    Application directory: /system
2018-01-30 19:53:37.088 Info App: Application version: 3.2.70.5
2018-01-30 19:53:37.089 Info App: Loading assemblies

In LAN Networks in advanced I wasn't sure which one you chose:

192.168.1.0/24, 192.168.1.0/255.255.255.0

Remote user is coming in from another subnet but still shows up as is in Local network : true :(

2018-01-30 20:07:27.263 Info App: Profile: Roku SG, No direct play profiles found for Path: /media/tv/Breaking Bad/Season 01/Breaking Bad - 1x01 - Pilot [1080p BluRay].mkv
2018-01-30 20:07:27.265 Info App: RemoteClientBitrateLimit: 5000000, RemoteIp: 192.168.15.31, IsInLocalNetwork: True
2018-01-30 20:07:27.265 Info App: Profile: Roku SG, Path: /media/tv/Breaking Bad/Season 01/Breaking Bad - 1x01 - Pilot [1080p BluRay].mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: True
Link to comment
Share on other sites

Admittedly i haven't implemented the mask part yet. i will do that before this comes out of beta obviously. for now an you test an ip address? thanks.

Link to comment
Share on other sites

grid-hibiscus-pancake

Hi @@Luke, yeah it seems it's still direct streaming I only put single IP address in LAN field.

I put 192.168.1.1 (my local lan random ip)

 

In the server log when user starts playback it still shows as isInLocalNetwork: True and direct streams it (file is huge though it  should be transcoding)

RemoteClientBitrateLimit: 5000000, RemoteIp: 192.168.15.31, IsInLocalNetwork: True

I am still on Version 3.2.70.5 beta

Link to comment
Share on other sites

grid-hibiscus-pancake

In 70.7 it seems to be working whatever it is not in the land field shows up as foreign.

 

I didn't test yet what happens if the field is empty.

 

I'll test that tomorrow.

 

When do you think you will add masks?

 

Sent from my Pixel XL using Tapatalk

Link to comment
Share on other sites

  • 1 month later...
grid-hibiscus-pancake

Oh Great!

What settings do you support?

  • IP Addresses ex. 192.168.1.1, 192.168.1.2 (comma separated)?
  • Netmasks(comma separated) ex. 192.168.1.1/24 ? or 192.168.1.1/32?
  • Netmask 192.168.1.1/255.255.255.0 ?

Thank you for clarifying this.

Maybe we can add example to the dialog itself?

Edited by grid-hibiscus-pancake
Link to comment
Share on other sites

grid-hibiscus-pancake

@luke 

I am not sure if i am doing something wrong but when I am specifying:

"192.168.1.1/24" and my client ip is 192.168.1.100 it transcodes the stream. I also tried 192.168.1.1/255.255.255.0 

in the logs it shows: IsInLocalNetwork: False

Link to comment
Share on other sites

@luke 

I am not sure if i am doing something wrong but when I am specifying:

"192.168.1.1/24" and my client ip is 192.168.1.100 it transcodes the stream. I also tried 192.168.1.1/255.255.255.0 

in the logs it shows: IsInLocalNetwork: False

 

I've got this example resolved for the next release, thanks.

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