ffmpeg RTSP to RTMP - синтаксическая ошибка при работе в Python 3 - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь преобразовать один из моих потоков CCTV RTSP в RTMP, чтобы я мог добавить его на веб-сайт. Я прочитал много статей и понимаю, что ffmpeg для Ubuntu 18.04 - это путь к go.

. В мой скрипт я добавил следующий код в 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 и не вижу никаких проблем.

Пожалуйста, кто-нибудь может указать мне правильное направление?

Спасибо, Крис

1 Ответ

0 голосов
/ 09 апреля 2020

Согласно комментарию, вы не можете делать это так, поскольку вы не можете напрямую выполнять команды из 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"')

Будьте осторожны, вы должны либо использовать одинарные кавычки, как я, либо избегать двойных кавычек.

Более чистый способ сделать это может использовать подпроцесс , например, для перенаправления stderr и stdout в Python переменные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...