通过在Raspberry Pi中添加摄像头模块,您实际上可以获得一台便携式,轻便,易于持有或安装的互联网连接摄像头。
因此,您可能需要流式传输是很有意义的。镜头。但是,您如何开始呢?您应该使用哪种Pi模型?一种相机模块解决方案是否比另一种更好?以及如何将这些视频片段上传到YouTube?
与大多数Raspberry Pi一样,它非常简单。
为什么要使用Raspberry Pi进行直播?
随着诸如Mixer和Twitch之类的易于使用的流媒体服务的可用性以及能够流向YouTube的众多不同设备,您可能想知道“为什么选择Pi"?
它的大小当然可以发挥作用,使您几乎可以将Raspberry Pi置于任何位置。将Pi用作专用的YouTube实时流式摄像机也可以释放您的其他设备。
然后,有一个古老的原因:因为您可以!将Pi设置为实时视频流媒体,可以了解执行相同任务的其他设备在后台发生的情况。有点不整洁,需要很长的命令字符串,但结果令人满意。
您需要的内容
要将Raspberry Pi之前的内容实时传输到YouTube,您将需要以下内容:
对于操作系统,标准配置Raspbian Stretch会没事的。但是您可能更喜欢Ubuntu或Arch Linux,或当前可用的任何其他Raspberry Pi发行版。
下一步,连接摄像机并启动。我们之前的Raspberry Pi相机模块设置指南介绍了如何正确执行此操作。
您还需要一个YouTube频道,用于将您的素材流式传输到该频道。设置起来并不像您想的那么困难。
设置您的YouTube频道
您可能已经拥有一个YouTube帐户。如果您使用Google Mail,则有一个可供您激活的帐户。您将需要一个特殊的URL,用于将Raspberry Pi摄像机捕获的素材引导到YouTube。
这称为 RMTP地址,基本上是一个特定的媒体URL。
要找到此内容,请访问YouTube,登录并查找上传按钮。这就是您通常在YouTube中用来添加视频的方式。但是,在这种情况下,我们将忽略此操作,然后单击“实时流"下的使用入门按钮。
在随后的屏幕中,填写所需的详细信息动态信息。这将是有关提要的主题和标题的信息,您应该在基本信息下添加标题。您还将有机会设置信息流的隐私级别;是公开,不公开还是私有?
在下一个标签中,流键设置,查找流URL 和流名称/键(您需要单击显示才能看到此信息)。请注意,Stream密钥必须保持私有状态,任何拥有此信息的人都可以流式传输到您的YouTube频道!进入远程Raspberry Pi命令行。)
有关此处的其他选项的信息,请参阅我们的YouTube频道设置指南。
为Live YouTube准备Raspberry Pi流传输
现在,是时候设置您的Raspberry Pi进行流传输了。
从升级开始。这样可以确保您正在运行Raspbian的最新版本,并具有所有必要的系统和软件更新,包括raspivid。
sudo apt updatesudo apt upgrade
这将需要几分钟的时间才能完成。完成后,打开一个终端窗口并输入:
sudo raspi-config
使用箭头键选择启用摄像头,点击输入,然后选择是。系统会提示您重新启动。当您的Pi重新启动时,输入:
raspistill –o image.jpg
您将在主目录中找到生成的快照。一旦知道相机可以与Raspberry Pi配合使用,就可以继续进行操作。
使用avconv设置流媒体
Raspbian的最新版本已预先安装了avconv,因此您不应该不需要安装它。但是,如果您不想升级Raspberry Pi,则只需安装libav-tools软件包:
sudo apt install libav-tools
已安装 avconv ,您就可以创建YouTube的供稿。您需要为此先前记下的流名称/键。
该命令很长:
raspivid -o - -t 0 -vf -hf -fps 30 -b 6000000 | avconv -re -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/[your-secret-key-here]
如您所见,它有很多元素。现在,如果要继续运行它,然后复制代码,将其粘贴到终端窗口中,然后按Enter。记住,要更改您之前记下的Stream键的 [此处为您的机密键] 。
如果一切都按预期进行,那么最终会得到像这样:
发生这种情况时,请切换回YouTube浏览器标签。片刻之后,影片将开始流式传输:
流式命令的含义
上面那条长命令可能会使未经训练的人感到困惑,但具有一组单独的参数。让我们来看看最重要的内容。
-fps
:这是每秒的帧数。为了获得最佳效果,应该超过24,这是传统电影为了营造运动感而运行的速度。但是,如果性能是一个问题,则您可能希望减少这种情况以改善蒸煮效果。
-w -h
:这些可用于指定宽度和高度。如果省略它们,raspivid将使用完整的1920×1080高清晰度分辨率(1080p)。
-b
: Output bitrate limit. YouTube’s recommendation is 400-600kbps. A lower figure will reduce upload bandwidth, in exchange for a lower quality video.
-acodec
:这一点特别重要流式传输到YouTube。该服务不允许没有音轨的视频(或没有音轨的音频),因此我们使用它为流创建伪造的音轨。由于Raspberry Pi不附带内置麦克风,并且通过添加声卡HAT可以获得最佳的音频效果,因此这是简单的解决方案。
-f
:这是输出格式;在这种情况下,这是YouTube实时流的首选格式。
分离SSH会话以使流继续进行
上面的raspivid命令将启动流,但是如果通过SSH连接时,断开连接时流将关闭。当然,您不能只让树莓派继续保持流媒体播放状态吗?
幸运的是,有一个答案:屏幕。这是您可以安装的软件,一旦断开连接,该软件将使SSH会话保持运行。
首先结束流( Ctrl + X ),然后安装屏幕:<
sudo apt install screen
等待安装,然后重新启动Pi。
sudo reboot
通过SSH重新连接,登录,然后输入命令以运行屏幕:
screen
此基本上创建了一个单独的环境供您运行raspivid命令,该环境将在您断开连接时继续存在。只需如上所述运行raspivid,然后在准备断开连接时,按 Ctrl + A 。
关闭SSH窗口,流将继续。
使用相机中的Pi流式传输视频,一切都可以正常工作。所需要做的就是:
请注意,如果使用持久流,则可能会导致设备过热,这将减慢流的速度。如果发生这种情况,请考虑一些Raspberry Pi散热解决方案。
标签: DIY项目教程 媒体流 Raspberry Pi 网络摄像头 YouTube