Je cherche à diffuser sur Youtube avec VLC et j'ai créé la chaîne de commande suivante:
cvlc -vv screen:// --live-caching=0 --screen-fps=30 --screen-width=1920 --screen-height=1080 --sout='#transcode{vcodec=h264,scale=Auto,width=1920,height=1080,acodec=mp3,ab=128,channels=2,samplerate=44100}:std{access=rtmp,mux=ffmpeg{mux=flv},dst=rtmp://a.rtmp.youtube.com/live2/xxxxxxxxxxx}'
Si je remplace screen:// ..
par un fichier vidéo, le flux se télécharge avec succès sur Youtube.
Mais je n'ai aucune idée pourquoi il ne diffusera pas l'écran. Youtube montre brièvement une connexion mais pas d'image. Le flux n'est pas interrompu par VLC et il montre que le téléchargement continue, mais il n'est jamais repris par YT. Toute aide serait appréciée.
Pour mémoire, je suis capable de visualiser l'écran hors ligne dans VLC sans streaming.
J'obtiens une erreur particulière qui ressort:
core mux warning: late buffer for mux input (repeated while streaming)
mais cela se produit également dans le cas du téléchargement de la vidéo et ne semble pas poser de problème.
Journal
Ci-dessous le journal lorsque j'essaie de configurer un serveur HTTP en streaming sur le bureau tout en jouant dans VLC. J'obtiens une image, mais seulement une image statique, la première image du flux.
Cela me dit beaucoup que mon ordinateur est lent, mais c'est un Corei5 et le processus VLC ne prend que 9% avec beaucoup de reste. L'enregistrement dans un fichier fonctionne correctement.
Remarque
J'ai deux moniteurs. Cela pourrait être un problème pour elle en quelque sorte, je ne sais pas.
Mise à jour
J'ai résolu le problème des trames perdues en augmentant le tampon avec live-caching=2500
. Maintenant, cela fonctionne bien avec un serveur HTTP local, mais toujours pas avec YT.
#transcode{vcodec=h264,scale=Auto,width=1920,height=1080
dans la mesure où je comprends que vous transcodez le flux en temps réel avec une résolution énorme, essayez de produire un flux de plus petite taille 640-480