我第一次运行 FFmpeg 命令时出现错误:
“输出文件#0 不包含任何流”
...但我可以看到 Tux 会话并连接到它。
然后添加了 FFmpeg 可执行文件的完整路径并降低了 FFmpeg 命令的复杂性,但现在没有任何反应,甚至没有创建 tmux 会话。
sh rec.sh
以下是内容rec.sh
:
#!/bin/bash
tmux new-session -d /usr/bin/ffmpeg -f pulse -i 0 -acodec libmpelame out.mp3
通常,当您在 Bash 脚本中运行 FFmpeg 时,-nostdin
应使用该选项。因此,您的 shell 脚本中的命令将更改为:
tmux new-session -d /usr/bin/ffmpeg -nostdin -f pulse -i 0 -acodec libmp3lame out.mp3
处理此问题的另一种类似方法是< /dev/null
像这样附加到命令中:
tmux new-session -d /usr/bin/ffmpeg -f pulse -i 0 -acodec libmp3lame out.mp3 < /dev/null
尝试其中任何一个,并使用FFmpeg 文档中-stdin
解释的方法;大胆的强调是我的:
在标准输入上启用交互。默认情况下打开,除非使用标准输入作为输入。要显式禁用交互,您需要指定
-nostdin
.禁用标准输入上的交互很有用,例如,如果 ffmpeg 在后台进程组中。可以实现大致相同的结果,
ffmpeg ... < /dev/null
但它需要一个外壳。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句