首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用FFmpeg现场直播

用FFmpeg现场直播
EN

Stack Overflow用户
提问于 2018-11-28 23:25:15
回答 1查看 1.8K关注 0票数 0

如何在python中使用这段代码,请详细指导我是全新的。

代码语言:javascript
复制
ffmpeg \
-f alsa -ac 2 -i hw:1,0 \
-f v4l2 -r 10 -i /dev/video0 \
-c:v libx264 -pix_fmt yuv420p -preset ultrafast -g 20 -b:v 2500k \
-c:a aac -ar 44100 \
-threads 0 -bufsize 512k \
-f flv rtmp://a.rtmp.youtube.com/live2/YOURSTREAM &> stream.log

我试着用侏儒语写

  1. 当我刚刚粘贴到编辑器时,它像往常一样给了我错误。
  2. 然后,我尝试用os.system()和subprocess.call()这样的方式编写

os.system

代码语言:javascript
复制
os.system(ffmpeg \)
os.system(-f alsa -ac 2 -i hw:1,0 \)
os.system(-f v4l2 -r 10 -i /dev/video0 \)
os.system(-c:v libx264 -pix_fmt yuv420p -preset ultrafast -g 20 -b:v 2500k\)
os.system(-c:a aac -ar 44100 \)
os.system(-threads 0 -bufsize 512k \)
os.system(-f flv rtmp://a.rtmp.youtube.com/live2/YOURSTREAM &> stream.log)

subprocess.call()

代码语言:javascript
复制
subprocess.call(ffmpeg \)
subprocess.call(-f alsa -ac 2 -i hw:1,0 \)
subprocess.call(-f v4l2 -r 10 -i /dev/video0 \)
subprocess.call(-c:v libx264 -pix_fmt yuv420p -preset ultrafast -g 20 -b:v 2500k\)
subprocess.call(-c:a aac -ar 44100 \)
subprocess.call(-threads 0 -bufsize 512k \)
subprocess.call(-f flv rtmp://a.rtmp.youtube.com/live2/YOURSTREAM &> stream.log)

两次都让我犯了错误

代码语言:javascript
复制
'-i' is not recognized as an internal or external command,
operable program or batch file.
'-vcodec' is not recognized as an internal or external command,
operable program or batch file.
'-acodec' is not recognized as an internal or external command,
operable program or batch file.
'-f' is not recognized as an internal or external command,
operable program or batch file.

请指导我,如果有其他方法可以通过python上传视频到youtube上,请告诉我。

EN

回答 1

Stack Overflow用户

发布于 2018-11-29 01:08:51

您可以尝试将整个ffmpeg命令包装到一个subprocess.call中,将参数分隔为一个列表。

这个(稍微修改过的)命令适用于我将一个剪辑流到我的facebook页面:

代码语言:javascript
复制
subprocess.call(["ffmpeg", "-ac", "2", "-i", "/home/ubuntu/clip.mp4", "-r", "10", "-i", "/home/ubuntu/clip.mp4", "-c:v", "libx264", "-pix_fmt", "yuv420p", "-preset", "ultrafast", "-g", "20", "-b:v", "2500k", "-c:a", "aac", "-ar", "44100", "-threads", "0", "-bufsize", "512k", "-f", "flv", "rtmp://rtmp-api-dev.facebook.com:80/rtmp/10156686554299774?<my stream key>"])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53529627

复制
相关文章

相似问题

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