Chcę przesyłać strumieniowo do YouTube z VLC i utworzyłem następujący ciąg poleceń:
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}'
Jeśli screen:// ..
zastąpię plik wideo, strumień zostanie pomyślnie przesłany do YouTube.
Ale nie mam pojęcia, dlaczego nie rzuca ekranu. Youtube krótko pokazuje połączenie, ale nie ma obrazu. Strumień nie jest przerywany przez VLC i pokazuje przesyłanie, aby kontynuować, ale nigdy nie jest odbierane przez YT. Każda pomoc będzie mile widziana.
Dla przypomnienia, jestem w stanie oglądać ekran offline w VLC bez przesyłania strumieniowego.
Otrzymuję szczególny błąd, który się wyróżnia:
core mux warning: late buffer for mux input (repeated while streaming)
ale dzieje się tak również w przypadku przesyłania wideo, a następnie nie wydaje się, aby powodowało to problem.
Log
Poniżej znajduje się dziennik, gdy próbuję skonfigurować serwer HTTP przesyłający strumieniowo pulpit, jednocześnie grając w VLC. Dostaję obraz, ale tylko statyczny, pierwsza ramka strumienia.
Wiele mi mówi, że mój komputer działa wolno, jednak jest to Corei5, a proces VLC zajmuje tylko 9%, a pozostało wiele. Zapisywanie do pliku działa dobrze.
Uwaga
Mam dwa monitory. To może być jakiś problem, nie wiem.
Aktualizacja
Rozwiązałem problem z opuszczanymi ramkami, zwiększając bufor o live-caching=2500
. Teraz działa dobrze z lokalnym serwerem HTTP, ale nadal nie działa z YT.
#transcode{vcodec=h264,scale=Auto,width=1920,height=1080
o ile dostaję, że transkodujesz strumień w czasie rzeczywistym z ogromną rozdzielczością, spróbuj wyprowadzić mniejszy strumień 640-480