我的信息流现在如何工作:
输入:切换器程序,用于捕获相机和屏幕快照并进行不同的布局。该软件中的一个窗口是在ffmpeg命令行中用作输入的窗口。
输出:-Facebook(示例)-Youtube(示例)
一开始,我认为可能最好创建两个不同的ffmpeg进程以独立地流到每个输出。问题是它使用了过多的CPU。答案是编码一次并将其复制到不同的输出。好的,很好,它可以解决问题,但是如果输出之一失败了该怎么办?都失败了。
我正在尝试对两个输出进行编码,如果其中一个输出不可用,则另一个输出会很好。
有人有解决的办法吗?
谢谢!
我按照@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..."