Pipe
如果一個分支中斷,則繼續進行流分流
假設我將影片流分成 2 個
ffplay
程序cat video.mp4 | tee >(ffplay -i -) >(ffplay -i -) > /dev/null
現在,如果我終止其中一個
ffplay
程序,則流將停止,這不是我想要的。
ffplay
如果第二個程序被殺死,如何修改此命令以繼續將影片流式傳輸到第一個程序?PS:我正在尋找沒有命名管道(fifo)的解決方案
一個辦法
cat video.mp4 | tee >(ffplay -i - || cat >/dev/null ) >(ffplay -i - || cat >/dev/null) > /dev/null
範例:要保存加密的網路攝像頭擷取並同時播放它,可能會殺死文件保存過程(
openssl
)或播放器(ffplay
),我可以使用:ffmpeg -f alsa -ac 2 -i plughw:0,0 -f video4linux2 -s vga -i /dev/video0 -f ogg - | tee >(openssl enc -k mypassword -aes-256-cbc > encrypted-capture.aes-256-cbc || cat >/dev/null) >(ffplay -fs -i - || cat >/dev/null) > /dev/null
您必須終止
ffplay
程序(按下f
然後執行pkill ffplay
),而不是關閉視窗Esc