ffmpeg和python的使用
我的电脑上有一个ffmpeg设置,可以用以下代码流式播放mp3:ffmpeg和python的使用,python,ffmpeg,Python,Ffmpeg,我的电脑上有一个ffmpeg设置,可以用以下代码流式播放mp3: ffmpeg -f dshow -i audio="Input device" -c:a libmp3lame -f mpegts udp://192.168.1.2:7777 另外,我有一个服务器,我希望我的python脚本在服务器上全天候运行,并在每次打开/关闭pc时开始/停止将流写入mp3文件。我需要新的文件,每次电脑打开(使用时间和日期为文件名为例),以绕过覆盖。使用python的子流程模块和ffmpeg,我可以在服务器
ffmpeg -f dshow -i audio="Input device" -c:a libmp3lame -f mpegts udp://192.168.1.2:7777
另外,我有一个服务器,我希望我的python脚本在服务器上全天候运行,并在每次打开/关闭pc时开始/停止将流写入mp3文件。我需要新的文件,每次电脑打开(使用时间和日期为文件名为例),以绕过覆盖。使用python的子流程模块和ffmpeg,我可以在服务器上保存文件,如下所示:
subprocess.call('ffmpeg -y -i udp://192.168.1.2:7777 -acodec copy output.mp3')
但我需要一个条件,什么时候开始录制(如果7777端口正在接收数据或类似的东西,则侦听),甚至可以使用python实现这样的事情吗?
另外,很抱歉我的英语不好。
您将遇到的基本问题是UDP是一种无连接协议。换句话说,很难确定“连接”何时不再存在(发送数据的程序已经消失)
如果切换到TCP,您应该能够编写一个Python脚本,在循环中运行subprocess.call(),每次给它一个新的文件名。每次电脑关机和TCP连接关闭时,服务器上运行的ffmpeg应该(您需要测试它以确保)退出,循环将使用新的输出文件名启动一个新的循环