我正在尝试将我的CCTV RTSP流之一转换为RTMP,这样我就可以将其添加到网站上。我读过很多文章,知道Ubuntu 18.04的ffmpeg是最好的选择。
在我的脚本中,我已经将以下代码添加到Python 3.7中:
ffmpeg -i "rtsp://xx.xxx.xx.x:554/user=admin&password=123@&channel=1&stream=0.sdp" -f flv -r 25 -s 640x480 -an "rtmp://localhost:1935/uid/1/camera1"但是我在第一个链接(rtsp链接)末尾的引号中出现了一个语法错误,我已经搜索了几个小时,没有看到任何人之前提到过的内容。我还查看了ffmpeg文档,没有发现任何问题。
请给我指个方向好吗?
谢谢,克里斯
发布于 2020-04-09 19:26:28
根据评论,你不能这样做,因为你不能直接从Python执行命令。
最简单的方法是使用os.system
import os
os.system('ffmpeg -i "rtsp://xx.xxx.xx.x:554/user=admin&password=123@&channel=1&stream=0.sdp" -f flv -r 25 -s 640x480 -an "rtmp://localhost:1935/uid/1/camera1"')要小心,你要么像我一样使用单引号,要么转义双引号。
一种更简洁的方法是使用subprocess,例如将stderr和stdout重定向到Python变量中。
https://stackoverflow.com/questions/61119649
复制相似问题