Przesyłaj ekran do YouTube za pomocą VLC

11

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.

https://pastebin.com/EzSWuAM3

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.


źródło
Nie jestem pewien o problemie z YT - ale może to spowolnić wydajność, #transcode{vcodec=h264,scale=Auto,width=1920,height=1080o ile dostaję, że transkodujesz strumień w czasie rzeczywistym z ogromną rozdzielczością, spróbuj wyprowadzić mniejszy strumień 640-480
Myślę, że trochę pamięci podręcznej może być również
Próbowałem pamięci podręcznej 5000 ms i nadal nie działa. Niższa rozdzielczość również nie działa.
1
Czy Open Broadcaster nie jest dopuszczalną opcją? Dlaczego VLC?
Dozownik

Odpowiedzi:

1
  1. Problem z inicjalizacją

    YouTube ma dziwne wymagania, aby móc przesyłać strumieniowo: musisz odwiedzić stronę Streaming jeden raz, aby zainicjować swój profil przesyłania strumieniowego, po tym jak zostaniesz zatwierdzony przez proces rejestracji.

    1. Stwórz swój profil.
    2. Czekaj na pozwolenie.
    3. Odwiedź https://www.youtube.com/live_dashboard raz przed próbą przesyłania strumieniowego.

    Zrzut ekranu: Utwórz strumień

    Zrzut ekranu: ekran Rozpocznij

  2. Problem z kluczem strumienia (nazwa strumienia)

    Zauważyłem również, że nie przekazałeś klucza Stream do VLC. Bez klucza transmisji (nazwa strumienia) YouTube odrzuci każde połączenie. VLC obsługuje tę funkcję w argumentach protokołu RTP, więc może obsługiwać protokół RTMP, ale nie wstrzymałbym oddechu. Zauważyłem, że RTMP nie jest wymieniony jako dostępny protokół przesyłania strumieniowego w GUI dla VLC, więc bardzo wątpię, że VLC może nawet przesyłać strumieniowo protokół RTMP. Adobe próbował ukarać każdego, kto korzysta z projektu open source RTMPdump, twierdząc, że jest to naruszenie DMCA. https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol#rtmpdump Ponieważ RTMP wymaga szyfrowania w celu bezpiecznego przesyłania strumieniowego, VLC może nie obsługiwać przesyłania strumieniowego do YouTube.

    Możesz być w stanie przesyłać strumieniowo z VLC do tej drugiej aplikacji, a następnie pozwolić tej aplikacji przekazać strumień przez program CLMP RTMPdump do YouTube. http://docs.livestreamer.io/install.html#windows-binaries

    Zrzut ekranu: Znajdź tutaj swój klucz strumienia

  3. Problem z reputacją VLC

    Próbowałem zmusić VLC do zapisywania ekranów pulpitu do pliku wiele razy w przeszłości i obecnie, i zawsze zawodziło to źle, albo odmawiając przestrzegania wybranej liczby klatek, albo kodując plik z nieprawidłowymi znacznikami kodeków, w wyniku czego odtwarzaj tylko pliki audio w odtwarzaczu multimedialnym lub z innymi problemami. VLC nie jest tak solidny, jak jego reputacja skłania ludzi do wiary. Pominąłem całkowicie VLC i skorzystałem z dedykowanego programu do strumieniowania, takiego jak Open Broadcaster Software Studio (OBS Studio). OBS Studio to zaktualizowana wersja OBS: https://obsproject.com/

Ryan
źródło
0

Możesz spróbować z tym oprogramowaniem

https://en.wikipedia.org/wiki/Open_Broadcaster_Software

Jest łatwy w użyciu i działa. Próbuję strteaming z VLC, ale po wielu problemach instaluję serwer Ubuntu, umieszczam OBS i transmituję spotkania parlamentarne na youtube.

dvinkic
źródło