当前位置:  开发笔记 > 运维 > 正文

FFMPEG:如何独立地以相同的编码流式传输到多个输出

如何解决《FFMPEG:如何独立地以相同的编码流式传输到多个输出》经验,为你挑选了1个好方法。

我的信息流现在如何工作:

输入:切换器程序,用于捕获相机和屏幕快照并进行不同的布局。该软件中的一个窗口是在ffmpeg命令行中用作输入的窗口。

输出:-Facebook(示例)-Youtube(示例)

一开始,我认为可能最好创建两个不同的ffmpeg进程以独立地流到每个输出。问题是它使用了过多的CPU。答案是编码一次并将其复制到不同的输出。好的,很好,它可以解决问题,但是如果输出之一失败了该怎么办?都失败了。

我正在尝试对两个输出进行编码,如果其中一个输出不可用,则另一个输出会很好。

有人有解决的办法吗?

谢谢!



1> Lucas Schoch..:

我按照@LordNeckbeard所说的找到了解决方案。

以下是示例代码:

    保存本地文件

    流到您的服务器

    流到Facebook服务器

每个流都是彼此独立的,如果发生诸如Internet连接之类的事件,它们将尝试每秒独立地恢复自身–将保存在本地,并尝试在Internet访问恢复时恢复-或目标服务器尚不可用以及何时返回将重新启动流传输过程):

-i ... -f tee "[onfail=ignore]'C:\Users\blablabla.mp4'|
[f=fifo:fifo_format=flv:drop_pkts_on_overflow=1:attempt_recovery=1:recovery_wait_time=1]rtmp://yourServer...|
[f=fifo:fifo_format=flv:drop_pkts_on_overflow=1:attempt_recovery=1:recovery_wait_time=1]"rtmp://facebook..."

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有