Streama HD-material över OpenVPN med 17Mbit/s ADSL?

Permalänk
Medlem

Streama HD-material över OpenVPN med 17Mbit/s ADSL?

Hej!

Jag har precis gått från ~100/~100 till ~17/~0,8 (medel efter några bredbanskollar)

Jag ställde då min media-server hos en vän med en 100/100-uppkoppling med tanken att jag streamar från han.
Maskinen seedar också torrenter, varför jag inte vill sätta stackarn med 0,8 upp.

Jag confade igång OpenVPN på Ubuntu-servern och delar ut filmapparna med Samba.
Så långt allt väl. Min VPN fungerar ganska bra. Följde guiden: https://help.ubuntu.com/14.04/serverguide/openvpn.html vilket efter några timmar meckande gick igång med min Windows-klient.

Märk väl att jag inte är så insatt i VPN, OpenVPN och all dess teknik. Google brukar lösa det mesta åt mig. Just här går åsikterna isär lite. Så jag kollar med kära Sweclockers också (ja, det är fjäsk i hopp om lite svar).
Jag hittar en logg med följande, vilket jag antar avslöjar vilken sorts VPN det är:

Mon Apr 06 13:44:22 2015 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key Mon Apr 06 13:44:22 2015 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication Mon Apr 06 13:44:22 2015 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key Mon Apr 06 13:44:22 2015 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication Mon Apr 06 13:44:22 2015 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA

För er som inte redan listat ut vart detta lider:

Det laggar när jag spelar upp filmerna.

Filmerna är c:a 8GB stora, antingen 720p eller 1080p.

Drar jag igång en stream så drar det c:a 12Mbit/s. Så jag borde ha bandbredd i sig till att klara av att spela upp filmen.
Kopierar jag över filen till min lokala HDD så får jag 17,6Mbit, ganska så exakt vad bredbandskollen säger jag får.

Jag använder mig av Media Player Classic Home Cinema för att spela upp filmer. Jag testade även VLC, där en vän visade mig hur jag kunde ställa in någon buffert. Jag provade både 5s och 10s. Det laggar dock ändå. Till och med mer än med MPC-HC. Jag hittar inga buffert-inställningar i MPC-HC däremot.

Så ja, huvudfrågan är såklart hur gör jag för att få igång en stream utan lagg?

Jag är också nyfiken på; varför laggar det egentligen? Jag verkar ha bandbredd nog. Är det paketförluster som orsakar lagget, hur gör jag för att få upp kvaliten på förbindelsen i så fall?

EDIT:

Körde en ping under tiden jag drog hem en stor fil över VPN:n(?), vilket i princip maxade linan. Vet inte riktigt om det är bra/dåliga/normala siffror:

Ping statistics for 10.8.0.1: Packets: Sent = 1110, Received = 1012, Lost = 98 (8% loss), Approximate round trip times in milli-seconds: Minimum = 32ms, Maximum = 136ms, Average = 73ms

EDIT#2:
Det verkar som jag tittat på fel ställe och hela tiden trott att bandbredd ner är flaskhalsen.
Eftersom det är en samba-share så används SMB2 från min dator, över TCP. Det maxar min lina uppströms. Tusentals små ACKs skickas till servern nonstop.
Får se mig om efter lite tweaks om det kan hjälpa att ändra MTU eller se mig om kring alternativa protokoll.

Visa signatur

Shit happens

Permalänk
Medlem

Vad har filmen du försöker streama för bitrate? Om filmens bitrate är högre än din hastighet ned kommer det att lagga då den inte hinner buffra medans den spelar upp.

Visa signatur

CCNA

Permalänk
Medlem

Kommer inte funka smärtfritt. Installera Plex Media Server på datorn hos din kompis så den kan transcoda, om den har kraft för det.

Sen kör du bara Plex Home Theater hos dig / Plex på mobile enheter om du vill det.

Skickades från m.sweclockers.com

Permalänk
Medlem
Skrivet av Agile:

Kommer inte funka smärtfritt. Installera Plex Media Server på datorn hos din kompis så den kan transcoda, om den har kraft för det.

Sen kör du bara Plex Home Theater hos dig / Plex på mobile enheter om du vill det.

Problemet med transcode är ju att det sänker bitrate. Inte så meningsfullt att ha rådatat i 1080p för stt sen trnascoda ner det?

Problemet är nog snarare att det är streamingen som inte funkar bra. Jag hade exakt samma problem när jag försökte köra XBMC med en smb-share över VPN.

Satt och härjade på deras forum och fick det enkelt förklarat så att det är en mix av att uppspelen och protokollet inte är gjort för att streama.

Problemet jag hade var att uppspelaren fyllde bufferten, sen var den nöjd med det och slutade ladda data. När buffern sen började ta slut och det var dags att fylla den igen, så var problemet att spelaren började fylla buffern för sent, och då räckte inte bandbredden till för att fylla ikapp tillräckligt fort.

Vad man behöver är alltså ett "system", dvs en mediespelare, som funkar som så att den ha t ex 10 sekunders buffer men sen ser till att buffert aldrig går under säg 80%, man får då en mer konstant ström av påfyllnaden utav buffern, istället för att man får toppar och dalar.

Detta är ju endast ett problem när bitraten på det man strömmar ligger väldigt nära maximal thoughput på länken.

Jämför t ex här hemma där jag har maskiner och nätverk som klarar av att pumpa nära gbit, ligger man då
På en bittrate på 12-20 eller t ex 50 Mbit så bör det aldrig vara problem ändå eftersom nätverket utan problem burstar flera 100 Mbit när videospelaren lyckas komma på att den behöver data.

Ingen vettig lösning men hoppas du blev lite klokare

Skickades från m.sweclockers.com

Här är ett exmpel, spelar en videofil med 12Mbit bitrate i VLC över en windows/samba-share
Datat requestas inte i en jämn ström, utan laddas i bursts, så därför så har vi ju peakar över 50Mbit för att sedan ha en stor del av tiden när ingenting hämtas.
Nån som är bättre påläst inom detta vet säkert vad det "kallas", men vad man är ute efter är ju att använda en spelare/protokoll som är bättre lämpad för streaming.

Här streamar jag samma film/sekvens via plex. Observera att jag inte kör nån transcode utan har ställt in plex på att skicka orginalströmmen, för att få samma bitrate. Som vi ser håller den sig mkt närmre 12 Mbit men vi märker att den ändå ibland beöver bursta (då videofiler sällan körs med konstant bitrate, utan VBR, som kan ge peakar när det "händer" mycket i bild, återigen ingen codec/videkompressionsspecialist här )

Edit: Det var tydligen precis ett sånt "intensivt" skede jag lyckades pricka in, här har du en till screenshot när det inte "händer" lika mycket i bilden:

Vad är då slutsatsen och tipset jag kan ge?
1. Se till att använda en spelare/protokoll som är byggd för streaming
2. Fövänta dig inte att kunna spela upp nått som har en bitrate motsvarande 100% av din lina, såvida det inte är kodat med konstant bitrate. Det måste finnas utrymme för toppar.

Permalänk
Medlem
Skrivet av vipers:

Vad har filmen du försöker streama för bitrate? Om filmens bitrate är högre än din hastighet ned kommer det att lagga då den inte hinner buffra medans den spelar upp.

Det varierar lite. 6 500Kbit/s - 14 000Kbit (beroende på 720 eller 1080. Alla mina tester är gjorda mot 720 däremot. Jag inser att 1080 verkligen skär nära).

Skrivet av BasseBaba:

Problemet med transcode är ju att det sänker bitrate. Inte så meningsfullt att ha rådatat i 1080p för stt sen trnascoda ner det?

Problemet är nog snarare att det är streamingen som inte funkar bra. Jag hade exakt samma problem när jag försökte köra XBMC med en smb-share över VPN.

Satt och härjade på deras forum och fick det enkelt förklarat så att det är en mix av att uppspelen och protokollet inte är gjort för att streama.

.
.
.

Vad är då slutsatsen och tipset jag kan ge?
1. Se till att använda en spelare/protokoll som är byggd för streaming
2. Fövänta dig inte att kunna spela upp nått som har en bitrate motsvarande 100% av din lina, såvida det inte är kodat med konstant bitrate. Det måste finnas utrymme för toppar.

Tusen tack för ett fantastiskt svar BasseBaba!

Jag har googlat runt en del och även sett lite trådar där SMB påstås vara ett sämre protokoll för streaming. Jag har hittat lite tweaks man kunnat göra i smb.conf men de har inte hjälpt. Problemet verkar helt enkelt vara det faktum att protokollet tvunget ska TCP-ACKa alla paket.

Plex har jag meckat lite med tidigare. Hade problem med prestandan vill jag minnas, även över mitt LAN jag körde i då.
Hade ingen VPN på den tiden, så jag var också bitter över att den inte fungerade över HTTPS.
Jag får ge det ett nytt försök och se om jag kan få det att fungera bättre denna gång helt enkelt.

Återigen, hemskt mycket tack för ditt utförliga svar! Jag återkommer huruvida Plex funkar bra/bättre eller inte.

stavning
Visa signatur

Shit happens

Permalänk
Medlem

Inga problem.
Det blev bara så att jag vid tillfället fick upp ögonen för Plex igen så jag bytte ut XBMC.

Däremot vore det ju nice om man kunde hitta nått system som är lite mer "lättvikt", typ nått i stil med detta:
http://serviio.org/

Ännu bättre vore ju att hitta en spelare som lyckas bättre med att använda SMB eller t ex vanlig HTTP för att ha en kontinuerilig dataström men vet inte om det är möjligt..

Permalänk
Medlem
Skrivet av BasseBaba:

Fantastisk post

Det där var riktigt bra skrivet/förklarat, tack!

Visa signatur

CCNA

Permalänk
Medlem
Skrivet av BasseBaba:

Inga problem.
Det blev bara så att jag vid tillfället fick upp ögonen för Plex igen så jag bytte ut XBMC.

Däremot vore det ju nice om man kunde hitta nått system som är lite mer "lättvikt", typ nått i stil med detta:
http://serviio.org/

Ännu bättre vore ju att hitta en spelare som lyckas bättre med att använda SMB eller t ex vanlig HTTP för att ha en kontinuerilig dataström men vet inte om det är möjligt..

Har nu installerat Plex. Tar en evighet att gå igenom hela biblioteket. Har stått och tuggat i över 30 timmar nu

Det fungerar mycket bättre än streamen över SMB.
Kollar jag aktivitetshanteraren så har jag spikes på ~2MB/s men sedan är den tyst. Jag antar detta är när den buffrar ikapp sig.
Jag tar emot i princip ingen data (2-3Mb/s) i 1-3s för att sedan spika igen. Detta verkar den göra om hela tiden, vilket även bådar gott för stream av saker med högre bitrate!

Just nu streamar jag över Firefox. Skapar jag en playlist så går den ur full screen när den går vidare till nästa film. Jag måste då lyfta på min lata bakdel, gå till datorn, slå på full screen igen. Väldigt irriterande.

Är det någon som vet om en Raspberry Pi2 kan hantera HD-material? Funderar på att skaffa en sådan och köra allt genom den.

Visa signatur

Shit happens

Permalänk
Medlem
Skrivet av BasseBaba:

Problemet med transcode är ju att det sänker bitrate. Inte så meningsfullt att ha rådatat i 1080p för stt sen trnascoda ner det?

Transcoding är såklart endast ett krav om man inte har lina som klarar det utan..

Permalänk

Osäker om du anammar Plex eller ej. Jag är förtjust i Plex och kör både Plex och KODI (openelec). Däremot kör jag NFS istället för SMB då NFS presterar bättre med bl.a lägre overhead.