2014-02-23 44 views
0

我有我的电脑,这与该码流MP3的ffmpeg的设置:ffmpeg的和Python的使用

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端口reciving数据或类似的东西),它甚至有可能使用python来实现这样的事情? P.S.对不起,我的英语不好。

回答

0

你将要遇到的基本问题是UDP是无连接协议。换句话说,很难确定何时“连接”不再存在(发送数据的程序已经消失)。

如果您切换到TCP,您应该能够编写一个Python脚本,该脚本在循环中运行您的subprocess.call(),每次都会给它一个新的文件名。每当PC关闭并且TCP连接关闭时,运行在服务器上的ffmpeg应该(您需要测试它以确保)退出,并且循环将以新的输出文件名启动一个新的。