首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用FFmpeg将网络摄像头直播到YouTube?

如何使用FFmpeg将网络摄像头直播到YouTube?
EN

Stack Overflow用户
提问于 2019-08-18 05:19:04
回答 1查看 11.5K关注 0票数 6

我想把我的网络摄像头的实况流发送到YouTube。我可以跟随YouTube's guide一直到步骤8。"Stream Connection“告诉我”没有数据“,"Go Live”按钮仍然不可点击。这种情况的屏幕截图可以在

作为编码软件,我计划使用FFmpeg,因为它可以在目标平台上运行,一个带有Raspbian的树莓派。使用video4linux2支持的USB网络摄像头。

FFmpeg's wiki显示,可以通过以下方式实现文件流式传输:

代码语言:javascript
复制
ffmpeg -re -i input.mkv \
-c:v libx264 -preset veryfast -maxrate 3000k \
-bufsize 6000k -pix_fmt yuv420p -g 50 -c:a aac -b:a 160k -ac 2 \
-ar 44100 -f flv rtmp://live.twitch.tv/app/<stream key>

我对这个命令做了如下修改: 1.用-f v4l2 -i /dev/video0从摄像头中获取视频流。2. -an不播放任何音频。3.它向YouTube的RTMP服务器rtmp://a.rtmp.youtube.com/live2/<stream key>进行广播

该命令的最终版本现在是:

代码语言:javascript
复制
RTMP_URL="rtmp://a.rtmp.youtube.com/live2"
STREAM_KEY="secr-etse-cret-secr"
OUTPUT=$RTMP_URL/$STREAM_KEY
ffmpeg -re -f v4l2 -i /dev/video0 \
-c:v libx264 -preset veryfast -maxrate 3000k \
-bufsize 6000k -pix_fmt yuv420p -g 50 -an \
-f flv $OUTPUT

当我运行这个命令时,我本以为"Stream connection“会在几秒钟后变为"No data”之外的其他值,但这并没有发生。

我尝试使用以下命令将流记录到本地文件:

代码语言:javascript
复制
ffmpeg -re -f v4l2 -i /dev/video0 \
-c:v libx264 -preset veryfast -maxrate 3000k \
-bufsize 6000k -pix_fmt yuv420p -g 50 -an \
-f flv test.flv

这样做效果很好。这向我证明了问题出在如何让YouTube接受视频流。

EN

回答 1

Stack Overflow用户

发布于 2020-02-21 02:51:34

下面的代码在使用Windows时运行良好,您可以根据需要进行调整

代码语言:javascript
复制
ffmpeg -loglevel debug -threads:v 2 -threads:a 8 -filter_threads 2 -thread_queue_size 512  -f dshow -i video="HP Wide Vision HD" -f dshow -i audio="Microphone Array (Realtek Audio)" -pix_fmt yuv420p -c:v libx264 -qp:v 19 -profile:v high -rc:v cbr_ld_hq -level:v 4.2 -r:v 60 -g:v 120 -bf:v 3 -refs:v 16 -f flv rtmp://youtube_stream_url/stream_key
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57540004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档