Screencast live sotto Linux


4

Ho avuto qualche difficoltà con l'esecuzione di uno Screencast live su Linux. Ho trovato jtvlc e ho provato a usarlo, ma ogni volta che lo uso il flusso esce vuoto o ritardato con latenza estremamente alta. Ho una connessione Internet veloce e un computer veloce, ma forse sto tassando troppo?

Qualche idea su cosa potrei fare di sbagliato?

# 1. Get an account on http://www.justin.tv/
# 2. Copy streaming key from: http://www.justin.tv/broadcast/adv_other
# 2. Install VLC: http://www.videolan.org/vlc/
# 3. Get Win/Mac/Lin Stream Client: \
# http://apiwiki.justin.tv/mediawiki/index.php/Linux_Broadcasting_API
# 4. Adjust the vlc parameters to your liking and run VLC like this

#!/bin/bash
cvlc screen:// --input-slave=pulse:// \
    --screen-width 1920 \
    --screen-height 1080 \
    --screen-fps 5 \
    -v input_stream \
    --sout='#duplicate{ dst="transcode{ scale=1, venc=x264{ keyint=60 }, vcodec=h264, vb=600, acodec=mp4a, ab=32, channels=2, samplerate=22050 } :rtp{dst=127.0.0.1,port=1234,sdp=file:///tmp/vlc.sdp} "}' \
    --sout-transcode-threads=4 & sleep 2

# 5. Run JTVLC to stream like this:
./jtvlc/jtvlc omnipotententity censored /tmp/vlc.sdp

# Notes:
#- If you want to see what you're about to stream add 'dst=display, '
# before 'dst="transcode['
# More about the VLC parameters: http://wiki.videolan.org/Documentation:Modules/screen

Aggiornare:

Ho risolto il mio problema ... per la maggior parte. Stavo cercando di mettere troppe informazioni attraverso il mio upstream. Da allora ho ridotto la mia risoluzione e ho usato l'opzione crf per x264.

Ora la mia sceneggiatura si presenta così:

# 1. Get an account on http://www.justin.tv/
# 2. Copy streaming key from: http://www.justin.tv/broadcast/adv_other
# 2. Install VLC: http://www.videolan.org/vlc/
# 3. Get Win/Mac/Lin Stream Client: \
# http://apiwiki.justin.tv/mediawiki/index.php/Linux_Broadcasting_API
# 4. Adjust the vlc parameters to your liking and run VLC like this

#!/bin/bash
cvlc screen:// --input-slave=pulse:// \
    --screen-width 1920 \
    --screen-height 1080 \
    --screen-fps 5 \
    -v input_stream \
    --sout='#duplicate{ dst="transcode{ scale=1, width=1280, height=720, venc=x264{ keyint=60, crf=35 }, vcodec=h264, acodec=mp4a, ab=32, channels=2, samplerate=22050 } :rtp{dst=127.0.0.1,port=1234,sdp=file:///tmp/vlc.sdp} "}' \
    --sout-transcode-threads=4 & sleep 2

# 5. Run JTVLC to stream like this:
./jtvlc/jtvlc omnipotententity redacted /tmp/vlc.sdp

# Notes:
#- If you want to see what you're about to stream add 'dst=display, '
# before 'dst="transcode['
# More about the VLC parameters: http://wiki.videolan.org/Documentation:Modules/screen

Detto questo, ho ancora qualche problema. A volte quando cambio un po 'le cose sullo schermo non riesce a codificarle correttamente. Il che è strano, perché lo screencasting tramite Skype 4.0 funziona bene. Quindi ci sono ancora alcuni nodi da risolvere.

Lascio aperta la taglia e sto attivamente provando le cose menzionate. Assegnerò comunque la taglia, anche se mi sono risolto da solo.


1
Quando si tenta di eseguirlo, quali sono gli utilizzi per CPU, GPU, larghezza di banda (in% in termini)
soandos,

La CPU va benissimo (meno del 50% su ogni core), non sono sicuro di come misurare l'utilizzo della GPU, l'utilizzo della larghezza di banda si aggira intorno a qualunque cosa io abbia messo vb =. (Per ovvi motivi.) Se imposto un numero vb inferiore, funziona molto meglio, ma ottengo anche lacerazioni video, artefatti e codifica dei messaggi. Potrebbero essere persi i pacchetti, ma potrebbe anche essere che il tasso di vb sia troppo basso? C'è un buon modo per impostare VLC su bitrate variabile?
OmnipotentEntity,

@OmnipotentEntity: qual è la tua connessione Internet massima larghezza di banda / throughput?
Der Hochstapler,

Se riesci a farlo funzionare, fammi sapere. Lo farebbe in modo da non dover avviare, aprire un browser e avviare la mia webcam.
Rob,

@Oliver: 30mbps giù / 5mbps su
OmnipotentEntity

Risposte:


3

Questo è probabilmente uno scatto nel buio, ma ho la sensazione che

--screen-fps 5 \

dovrebbe essere il problema. prova a cambiare 5 con un valore più alto come 50 e vedi cosa succede.


5 significa un frame rate piuttosto discontinuo, ma 50 è troppo. Al massimo farei circa 30 (è più o meno quello che di solito sono i film), ma con la sua limitazione della larghezza di banda, probabilmente non andrei oltre il 10.
zebediah49

In realtà sbattere fino a 24 mi libera dai problemi di artefatto che stavo avendo prima.
OmnipotentEntity,

Posso conoscere il tuo modello di scheda grafica?
ItsNotAboutTheName il

NVidia 260 GTX Se ricordo bene.
OmnipotentEntity,

Ok puoi cambiare le dimensioni dello schermo a 1280 x 720, impostare fps su 24 e provarlo? dopo aver modificato le dimensioni del desktop [dalle impostazioni delle proprietà del desktop] non dimenticare di cambiare - screen-width 1920 \ --screen-height 1080 \ in 1280 e 720. Immagino che gli errori casuali nella codifica corretta siano dovuti al fatto che deve ridimensionare il runtime video acquisito e ciò potrebbe causare questo problema.
ItsNotAboutTheName il


0

Prova questo..!

# 1. Get an account on http://www.justin.tv/
# 2. Copy streaming key from: http://www.justin.tv/broadcast/adv_other
# 2. Install VLC: http://www.videolan.org/vlc/
# 3. Get Win/Mac/Lin Stream Client: \
#    http://apiwiki.justin.tv/mediawiki/index.php/Linux_Broadcasting_API
# 4. Adjust the vlc parameters to your liking and run VLC like this

#!/bin/bash
cvlc screen:// \
    --screen-width 1576 \
    --screen-height 886 \
    --screen-fps 5 \
    --screen-caching 200 \
    --screen-top 75 \
    -v input_stream \
    --sout='#duplicate{ dst="transcode{ scale=1, width=630, height=354, venc=x264{ keyint=60 }, codec=h264, vb=600, acodec=mp4a, ab=32, channels=2, samplerate=22050 } :rtp{dst=127.0.0.1,port=1234,sdp=file:///tmp/vlc.sdp} "}' \
    --sout-transcode-threads=2 &

# 5. Run JTVLC to stream like this:
jtvlc justintvusername streamkey /tmp/vlc.sdp

# Notes:
#- If you want to see what you're about to stream add 'dst=display, '
# before 'dst="transcode['
# More about the VLC parameters: http://wiki.videolan.org/Documentation:Modules/screen

Se il problema persiste, puoi provare Live Desktop Streaming tramite DLNA su GNU / Linux .


1
Amico, quella sceneggiatura sembra stranamente familiare.
OmnipotentEntity,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.