使用VLC将屏幕流式传输到Youtube


11

我希望通过VLC流式传输到Youtube并输入以下命令字符串:

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

我认为介于两者之间的某些缓存也可能会有所帮助

我尝试了5000ms的缓存,但仍然无法正常工作。较低的分辨率也不起作用。

1
开放广播不是可接受的选择吗?为什么选择VLC?
Dispenser

Answers:


1
  1. 初始化问题

    在流播之前,YouTube有一个很奇怪的要求:在您的流媒体注册申请获得批准后,您必须访问流媒体页面一次以初始化您的流媒体配置文件。

    1. 创建您的个人资料。
    2. 等待批准。
    3. 尝试流式传输之前,请先访问https://www.youtube.com/live_dashboard

    屏幕截图:创建流

    屏幕截图:入门屏幕

  2. 流密钥(流名称)问题

    我还注意到您没有将Stream密钥传递到VLC中。如果没有流密钥(流名称),YouTube将拒绝任何连接。VLC在RTP协议的参数中支持此功能,因此它可能在RTMP协议中支持此功能,但我不会屏息。我注意到RTMP在VLC的GUI中没有被列为可用的流协议,因此我非常怀疑VLC甚至可以流RTMP协议。Adobe已尝试惩罚使用RTMPdump开源项目的任何人,声称这是违反DMCA的行为。https://zh.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/


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.