我一直在寻找一种方法来正确和干净地启动一系列通过管道传输的二进制文件,并让所有的东西像一系列守护进程一样正常启动......但没有运气。
简而言之,这是我的命令:
ossrecord -s48000 -b16 -c2 -d/dev/oss/oss_envy24ht0/pcmin0 - | opusenc --bitrate 96 - - | oggfwd 192.168.1.12 7000 mysecret /mystream.opus
基本上,它从捕获设备中获取 oss v4 pcm 音频,将输出 aout 传输到 opusenc 二进制文件,然后将其编码为 opus 格式,最后,我将结果通过管道传输到 icecast2 服务器(所有这些或多或少都有很好的记录on the opus docs)而且效果很好!
问题是所有这些都发生在 cli 上,它捕获标准输出并开始输出。作为所有这些东西,我无法控制一系列管道进程。此外,最好有某种启动/停止脚本,这样就可以让所有这些都在后台运行。
我像往常一样一直在与 start-stop-daemon 作斗争,但我的知识基本上涵盖了处理单个二进制文件及其参数(如 docs 中所示),我认为我在盲目地踩着神圣大师的领域。
所以,也许有人可能会发现这可以完全或部分完成。