5 trucs om meer uit de VLC-speler te halen in Linux

Briefing: dit artikel toont enkele VLC-tips voor experts die u zullen helpen deze geweldige videospeler voor grotere doelen te gebruiken.

VLC-tips om er meer uit te halen

Kent u VLC, de alomtegenwoordige mediaspeler, vlaggenschip van het VideoLAN-project? VLC is een platformonafhankelijke tool en u kunt VLC eenvoudig installeren op Ubuntu of andere Linux-distributies. Er zijn ook MacOS- en Windows-versies en zelfs versies voor je telefoon / pad / horloge met iOS of Android. Maar dat is later alleen maar een videospeler. Hoe dan ook, dat is de belangrijkste VLC-use-case. Of is het niet?

In feite is VLC voor de desktop veel meer dan alleen een hulpmiddel om video's af te spelen die op je harde schijf zijn opgeslagen! Dus blijf bij mij voor een rondleiding langs de minder bekende functies van die geweldige software.

1. VLC gebruiken om video's van een UPnP-apparaat te importeren

Voordat we het hebben over de UPnP-ondersteuning ingebouwd in VLC, is het misschien de moeite waard om wat tijd te nemen om in enkele woorden uit te leggen wat UPnP is.

Universal Plug en Play (UPnP) is een set protocollen waarmee aangesloten apparaten elkaars aanwezigheid op het netwerk kunnen ontdekken. UPnP is gericht op het plug'n'play van netwerkapparatuur om de acceptatie door niet-technisch georiënteerde gebruikers te vergemakkelijken. De reden die ik noem, is dat veel audio-videoapparaten voor consumentenkwaliteit UPnP nu ondersteunen. Soms is het niet voor de hand liggend omdat die mogelijkheid anders is dan DLNA, maar voor ons doel bestrijkt het meestal dezelfde dingen.

Dit apparaat van consumentenklasse kan fungeren als een DLNA / UPnP-mediaserver

VLC ondersteunt UPnP. Helaas kan VLC op het moment van schrijven alleen optreden als een UPnP-client. Niet als een UPnP-server. Maar dat is voldoende als u VLC wat inhoud wilt afspelen die is opgeslagen op een externe UPnP-server, net als een compatibele digitale videorecorder of een combo DVD / BR / HDD-huishoudapparaat.

Video's afspelen vanaf een UPnP-netwerkapparaat is nogal intuïtief. Maar wist u dat door met de rechtermuisknop te klikken op een stream die u van een UPnP-apparaat naar uw lokale apparaat kunt kopiëren ("opslaan")?

Ik moet toegeven dat het op mijn systeem werkt, alleen voor opgenomen video's, en niet voor live streams. Is dit een probleem met mijn HDD-recorder of een VLC-beperking? Ik kan niet met zekerheid zeggen - als je daar wat meer informatie over hebt, aarzel dan niet om dat met mij te delen via de commentaarsectie onderaan dit artikel!

Als extra truc, omdat mijn HDD-recorder HTTP als de transportlaag gebruikt, vind ik het het handigst om VLC te gebruiken om de HDD-hiërarchie te verkennen en vervolgens een of meer opdrachtregel te gebruiken om de stream daadwerkelijk te downloaden en / of te verwerken. Ik vind op die manier meer "batchvriendelijk":

# Download raw stream data from my HDD curl //10.129.36.11:60001/AV-0-268435456-2-0-268435503-251953200_BDY \ -o stream.raw 
 # Transcode the stream from my HDD using `ffmpeg` ffmpeg -i //10.129.36.11:60001/AV-0-268435456-2-0-268435503-251953200_BDY \ -seekable 0 \ -codec:a copy \ -codec:v libx264 -preset fast -tune film \ out.mkv 

2. VLC gebruiken om video's te transcoderen

In het vorige voorbeeld heb ik ffmpeg gebruikt om een ​​video van mijn HDD-recorder te transcoderen. Maar eigenlijk heb je geen externe tool nodig. VLC kan het. En zelfs vanaf de opdrachtregel:

 cvlc //10.129.36.11:60001/AV-0-268435456-2-0-268435503-251953200_BDY \ --sout-x264-preset fast --sout-x264-tune film \ --sout "#transcode{vcodec=h264, acodec=copy}:file{dst=out.mp4}" \ vlc://quit 

3. Interface-minder VLC-speler

Merkte je in het bovenstaande commando dat ik het cvlc commando gebruikte in plaats van vlc ? Nee, cvlc is geen vork. Het is gewoon een manier om VLC uit te voeren zonder de grafische gebruikersinterface.

Als u bijvoorbeeld een video op volledig scherm wilt afspelen zonder de gebruikersinterface lastig te vallen, typt u:

 cvlc --play-and-exit \ --fullscreen \ stream.raw 

Ik vind cvlc name handig als ik VLC gebruik voor batchverwerking of als ik video's moet afspelen in de "kioskmodus". Denk bijvoorbeeld aan een PoP / PoS-reclamedisplay in de winkel. Voor die taak kan cvlc een alternatief zijn voor ffplay of mplayer .

4. VLC gebruiken om schermopnames op te nemen

VLC is een geweldige videospeler. Zoals we het zojuist hebben gezien, kan het bovendien video's downloaden en transcoderen. Maar het zou geen complete video-oplossing zijn als het ook geen video's opnam.

En dat deed het: met VLC kunt u video's opnemen van verschillende invoerapparaten, zoals een webcam. Of een DVB-S2 tv-tunerkaart.

Maar er is een pseudo-apparaat met input dat hier specifiek mijn aandacht zal trekken: het "Desktop" -apparaat.

Met dat apparaat kunt u uw computerscherm vastleggen alsof het een "echt" video-ingangsapparaat is. Dit is een leuke optie als u uw bureaublad wilt opnemen voor een zelfstudie of een screencast bijvoorbeeld. Het enige echte nadeel is dat VLC op dit moment de cursor niet op Linux kan opnemen - dus het is misschien niet het beste schermopnametool. Maar het werkt.

Om uw bureaublad op te nemen met behulp van VLC, opent u gewoon het dialoogvenster van het vastlegapparaat, wijzigt u de instellingen volgens uw behoeften voor de "Desktop" -ingang en ... drukt u op ... "play".

Ik geef toe dat dat in eerste instantie een beetje contra-intuïtief was. Maar als u de VLC GUI gebruikt, moet u op "play" drukken om het apparaat te "openen". En pas daarna kunt u op de knop "opnemen" drukken om de stroom vast te leggen.

Druk op de opnameknop om de stream op te nemen die VLC afspeelt

VLC geeft u toegang tot verschillende opnameapparaten: webcam, DVB-kaart, ...

Met VLC kunt u zelfs uw bureaublad vastleggen. Zeer handig voor snelle screencasts!

Waarschuwing: op een echt Debian Stretch / Sid Linux-systeem moest ik het extra pakket vlc-plugin-access-extra installeren om dat te laten werken en het "VLC kan het MRL" -scherm niet openen: // '"/ "Open of` screen: // 'failed' error.

Voor zover ik weet, is er geen feedback in de gebruikersinterface om aan te geven waar het bestand daadwerkelijk is opgenomen. Op mijn systeem gaat het naar ~/Videos/vlc-record--.avi .

Dit kan waarschijnlijk ergens in de VLC-voorkeuren worden gewijzigd. Maar vanaf mezelf wanneer ik die functie nodig heb, geef ik er de voorkeur aan de commandoregel te gebruiken die me meer controle geeft en die gemakkelijk kan worden geïntegreerd als onderdeel van een script:

 cvlc screen:// \ --screen-fps=30\ --sout-x264-preset fast --sout-x264-tune animation \ --sout "#transcode{vcodec=h264, acodec=copy}:file{dst=out.mp4}" 

Lijkt dat je niet bekend? Als dat zo is, klopt dat: het is bijna hetzelfde commando als hierboven om een ​​stream van mijn HDD-recorder te transcoderen.

De VLC-opdrachtregelargumenten zijn tamelijk ingewikkeld en ik zal hier niet te veel ingaan op dat onderwerp. Maar het mooie is dat als je eenmaal een paar basiscommando's begrijpt, je ze kunt gebruiken, ongeacht de bron van de stream.

5. VLC gebruiken om video te streamen

Speler, transcoder, recorder - de lijst zou niet compleet zijn als ik "server" niet vermeldde. We hebben gezien dat VLC kan fungeren als een client om een ​​netwerkvideostream weer te geven. En ik zei dat het niet als een DLNA-server kan worden gebruikt. Maar het ondersteunt wel enkele andere serverprotocollen, waardoor externe clients een videobestand kunnen ophalen en weergeven dat op uw computer wordt gehost.

Dit kan bijvoorbeeld handig zijn om op de tv in de woonkamer een video te bekijken die beschikbaar is op uw laptop. Of om advertenties uit te zenden die moeten worden weergegeven op het verschillende scherm verspreid over een openbare plaats.

Voor enige tijd heeft VideoLAN de vls (VideoLAN Server) -tool voor dat specifieke doel geleverd. Maar VLS is samengevoegd in VLC- en vandaag is VLS verouderd en als zodanig al jaren niet meer onderhouden.

Met VLC kunt u de GUI gebruiken om video's te streamen. Via de "stream" -interface kies je de video's die je wilt delen en selecteer je het type delen dat je wilt gebruiken.

In dat voorbeeld was ik van plan om video's te streamen met behulp van het HTTP-protocol, omdat het nogal universeel wordt ondersteund.

VLC kan ook als server fungeren

Eerst moet je de lijst met video's selecteren die je wilt delen

Na in de vorige stap op 'streamen' te hebben geklikt

Kies de streambestemming (en). In mijn geval

Stel de opties in die overeenkomen met de gekozen bestemming. Druk vervolgens op Volgende.

Kies uiteindelijk enkele transcoderingsopties. Het kan handig zijn om het bandbreedtegebruik te verminderen.

Alles is klaar. U kunt nu gaan streamen.

Een aardig ding over de VLC wizard is op het laatste scherm, je hebt de eigenlijke commandoregel-opties waarmee je de streaming-server kunt starten zonder dat je alle stappen opnieuw handmatig hoeft te doorlopen. Hiermee kunt u de instellingen later opnieuw gebruiken of aanpassen en een VLC-streamingserver starten zonder toezicht van de gebruiker.

Dit was eigenlijk een geluk toen ik die functie testte, omdat ik de VLC-codecoptie een klein beetje moest aanpassen om mijn video goed te kunnen streamen. Preciezer gezegd, ik moest de MPEG 1 - Audio Layer 3 Codec (MP3) gebruiken in plaats van de MPEG 1 - Layer 2 Audio Codec) (mpga). Vraag me niet waarom, maar bij het transcoderen van mijn videobestand naar "MP2" bevatten de getranscodeerde bestanden maximaal 24 lege audiotracks, terwijl het "MP3" getranscodeerde bestand alleen de "juiste" audiotrack bevatte. Nogmaals, als je enig idee hebt over dat onderwerp, dan ben je meer dan welkom om dit artikel te becommentariëren! Hoe dan ook:

 cvlc /path/to/my/file.mp4 \ --sout=#transcode{vcodec=h264, acodec=mp3, ab=128, channels=2, samplerate=44100}:http{mux=ffmpeg{mux=flv}, dst=:8181/movie} \ --sout-keep 

Maar je moet begrijpen dat dit een streaming- server start. Niet alleen een bestandsserver . Dat betekent dat, zodra de server actief is, VLC de invoerstroom begint te "spelen" zonder te wachten tot de clients verbinding maken . Met andere woorden, als het 5 minuten duurt om de client te starten en verbinding te maken met de server, hebt u de eerste 5 minuten van uw film gemist! Dus je moet waarschijnlijk client-side zijn voordat je de server opstart ...

 # display the video: vlc //addr.of.the.server:8181/movie ffplay //addr.of.the.server:8181/movie mplayer //addr.of.the.server:8181/movie 

U vindt een lijst met ondersteunde protocollen en streamcompatibiliteit op de VideoLAN-website: //www.videolan.org/streaming-features.html. Hier heb ik het HTTP-protocol gebruikt. Maar voor meer complexe streaming-applicaties raad ik u aan in plaats daarvan het Real-time Transport Protocol (RTP) te verkennen. Het leuke aan RTP is dat het multicasting ondersteunt. Zonder al te diep op de details in te gaan, is HTTP gebaseerd op het TCP-protocol dat is ontworpen voor betrouwbare één-op-één communicatie (unicast). Overwegende dat RTP is gebaseerd op UDP, die minder betrouwbaar is, maar kan worden gebruikt voor een-op-veel-communicatie ([multicast]] (// en.wikipedia.org/wiki/Multicast)).

Eenvoudig gezegd, wanneer de HTTP-protocol wordt gebruikt, moet de server de gegevens afzonderlijk naar elke client verzenden. Dat betekent dat als u 100 clients hebt, via het HTTP-protocol, VLC elk gegevenspakket 100 keer moet verzenden. Eenmaal voor elke verbonden klant. Maar met RTP kunt u een multicast-adres gebruiken en hetzelfde pakket kan tegelijkertijd naar meerdere clients worden gerouteerd. Als u 100 clients hebt aangesloten op hetzelfde multicast-adres, moet de VLC-server elk gegevenspakket slechts één keer verzenden. Naar het multicast-adres. En de LAN-infrastructuur (routers, switch) neemt de verantwoordelijkheid om dat pakket naar alle clients te verzenden. Uiteraard vermindert dat het bandbreedtegebruik en de belasting van de server.

HTTP, RTP-unicast en RTP-multicast zijn momenteel de enige drie streamingprotocollen die door VLC worden ondersteund.

 # Start VLC as a multicast RTP server cvlc -vvv ~/some-video.avi \ --sout='#transcode{vcodec=h264, acodec=mp3, ab=128, channels=2, samplerate=44100}:rtp{mux=ts, dst=224.0.0.10, port=1234}'\ --sout-keep 

VLC-streamingmogelijkheden zijn behoorlijk volwassen en door transcodering kun je bijna elk videobestand streamen. Dat gezegd hebbende, als u van plan bent om de streaming-functie regelmatig te gebruiken, moet u zeker overwegen om uw bestanden van tevoren te verwerken, eventueel met behulp van een meer gespecialiseerde tool zoals ffmpeg . Dit zal niet alleen de belasting van de server verminderen in vergelijking met live transcodering, maar daarnaast kan het een uitdaging zijn om bestanden met meerdere audio- of videotracks met VLC te transcoderen.

5. Hulp krijgen bij VLC

Je hebt misschien gemerkt dat ik meerdere keren ffmpeg heb genoemd. Een reden waarom ik met name deze tool leuk vind, is vanwege de geweldige documentatie die bij dat project hoort.

Er is geen belediging in te zeggen dat de VLC documentatie veel minder is ... hem ... "uitputtend" dan zijn ffmpeg tegenhanger. Een functie die ik tijdens het schrijven van dit artikel ontdekte (en gebruikte!), Is de inline hulp die beschikbaar is voor de verschillende VLC-modules. We hebben bijvoorbeeld eerder de transcode- en HTTP-modules gebruikt. U kunt (enige) hulp krijgen over de verschillende opties die door die modules worden ondersteund met behulp van de volgende opdrachten:

 vlc -p transcode --advanced vlc -p http --advanced 

Deze inline-hulp is ook niet erg gedetailleerd. Maar op zijn minst, nadat je het hebt gebruikt, heb je enkele aanwijzingen over de trefwoorden die je in je favoriete zoekmachine moet typen!

Weatherwax, Rinzwind en de anderen

Mijn laatste VLC-truc is niet echt een truc. Maar ik zou dat artikel niet willen afsluiten zonder de VLC-versienamen te noemen.

Ik gebruik nu VLC "Weatherwax" (v2.2.x). En mijn eerste VLC-ervaring stamt waarschijnlijk uit 'The Luggage' (v1.1.x). Als je je ooit afvraagt ​​waar die mooie releasamennen vandaan komen, zijn het in feite de namen van iconische personages uit de Discworld-serie boeken van Terry Pratchett († 2015). Als de eerste versie die werd uitgebracht na zijn dood, kreeg VLC 2.2.1 de codenaam 'Terry Pratchett' als eerbetoon.

Zoals je hebt gemerkt, door VLC te verkennen voorbij zijn meest basale mogelijkheden, zijn we afgedwaald naar een zone met een hoge magische index . En we krasten nauwelijks over het oppervlak. Er zijn nog steeds heel veel dingen te zeggen over die tool. Als je een paar coole VLC-tricks kent of originele use-cases tegenkomt, aarzel dan niet om dit met ons te delen via het gedeelte 'Opmerkingen' hieronder. Het is daar precies voor dat doel!

Aanbevolen

Installeer Adobe Lightroom Alternatieve RawTherapee in Ubuntu
2019
Download 15 prachtige sexy achtergronden van Debian
2019
Gebruik de modus Niet storen in Ubuntu met NoNotifications
2019