Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ffmpeg和python的使用_Python_Ffmpeg - Fatal编程技术网

ffmpeg和python的使用

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设置,可以用以下代码流式播放mp3:

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应该(您需要测试它以确保)退出,循环将使用新的输出文件名启动一个新的循环