Потоковый экран на Youtube с VLC

11

Я смотрю поток на Youtube с VLC и сделал следующую командную строку:

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}'

Если я заменю screen:// ..видеофайл, поток успешно загружается на Youtube.

Но я понятия не имею, почему это не бросит экран. Youtube кратко показывает связь, но нет изображения. Поток не прерывается VLC, и он показывает, что загрузка продолжается, но YT никогда не принимает ее. Любая помощь будет оценена.

Для записи, я могу просматривать экран в автономном режиме в VLC без потоковой передачи.

Я получаю конкретную ошибку, которая выделяется:

core mux warning: late buffer for mux input (repeated while streaming) 

но это происходит и в случае загрузки видео, а затем, похоже, не вызывает проблем.

Журнал

Ниже приведен журнал, когда я пытаюсь настроить HTTP-сервер для потоковой передачи рабочего стола, одновременно играя в VLC. Я получаю изображение, но только статичное, первый кадр потока.

https://pastebin.com/EzSWuAM3

Это говорит мне о том, что у меня медленный компьютер, но это Corei5, а процесс VLC занимает всего 9%, а оставшееся много. Сохранение в файл работает нормально.

Заметка

У меня есть два монитора. Это может быть проблемой, я не знаю.

Обновить

Я исправил проблему с пропущенными кадрами, увеличив буфер с live-caching=2500. Теперь он отлично работает с локальным HTTP-сервером, но не с YT.


источник
Не уверен насчет проблемы YT - но это может замедлить производительность, #transcode{vcodec=h264,scale=Auto,width=1920,height=1080поскольку я получаю, что вы транскодируете поток в реальном времени с огромным разрешением, попробуйте вывести поток меньшего размера 640-480
Я думаю, что некоторый кеш между ними также может быть полезен
Я попытался кэш 5000 мс, и это все еще не работает. Более низкое разрешение также не работает.
1
Open Broadcaster не является приемлемым вариантом? Почему VLC?
Диспенсер

Ответы:

1
  1. Проблема инициализации

    Перед потоковой передачей на YouTube предъявляется странное требование: вам нужно посетить страницу потоковой передачи один раз, чтобы инициализировать свой профиль потоковой передачи, после того как вы были одобрены в процессе регистрации.

    1. Создайте свой профиль.
    2. Ждите одобрения.
    3. Посетите https://www.youtube.com/live_dashboard один раз, прежде чем пытаться транслировать.

    Снимок экрана: Создать поток

    Снимок экрана: экран "Начало работы"

  2. Проблема с ключом потока (именем потока)

    Я также заметил, что вы не передали ключ потока в VLC. Без ключа потока (имя потока) YouTube отклонит любое соединение. VLC поддерживает эту функцию в аргументах для протокола RTP, поэтому он может поддерживать ее для протокола RTMP, но я не задерживаю дыхание. Я заметил, что RTMP не указан в качестве доступного потокового протокола в GUI для VLC, поэтому я очень сомневаюсь, что VLC может даже передавать протокол RTMP. Adobe предприняла попытки наказать любого, кто использует проект с открытым исходным кодом RTMPdump, утверждая, что это нарушение DMCA. https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol#rtmpdump Поскольку для RTMP требуется надежное шифрование для потоковой передачи, VLC может не поддерживать потоковую передачу на YouTube.

    Возможно, вам удастся выполнить потоковую передачу из VLC в это другое приложение, а затем передать это приложение через программу RTMPdump CLI на YouTube. http://docs.livestreamer.io/install.html#windows-binaries

    Снимок экрана: найдите ключ потока здесь

  3. Проблема с репутацией VLC

    Я пытался заставить VLC записывать экраны рабочего стола в файл много раз в прошлом и настоящем, и он всегда с треском проваливался, либо отказываясь соблюдать выбранную частоту кадров, либо кодируя файл с неверными тегами кодека, что приводило к файл, воспроизводящий только звук в медиаплеере, или любое другое количество проблем. VLC не так крепок, поскольку его репутация заставляет людей верить. Я бы полностью пропустил VLC и пошел бы с выделенной потоковой программой, такой как Open Broadcaster Software Studio (OBS Studio). OBS Studio - это обновленная версия OBS: https://obsproject.com/

Райан
источник
0

Вы можете попробовать с этим программным обеспечением

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

Он прост в использовании и работает. Я использую, чтобы попробовать strteaming с vlc, но после многих проблем я устанавливаю сервер Ubuntu, помещаю OBS и транслирую заседания парламента на YouTube.

dvinkic
источник