Точно не ясно, кто виноват, но я не могу выполнить из php вот такую команду:
$url = "rtsp://admin:admin@192.168.1.108:554/cam/realmonitor?&channel=1&subtype=0";
exec("ffmpeg.exe -rtsp_transport tcp -i $url -c copy -map 0 -t 10 out2.mkv 2>&1", $output, $return_var);
p($output);
p($return_var);
В ответе и в логах кракозябры, но в логах есть ещё вот такая строчка
[rtsp @ 000002891c688400] method OPTIONS failed: 404 Not Found
rtsp://admin:admin@192.168.1.108:554/cam/realmonitor?subtype=0: Server returned 404 Not Found
А если поменять местами subtype с channel, то ошибка будет
[rtsp @ 0000021f3c098400] method DESCRIBE failed: 404 Not Found
rtsp://admin:admin@192.168.1.108:554/cam/realmonitor?channel=1: Server returned 404 Not Found
. То есть второй GET параметр не применяется,
и доступа к потоку нет, потому что действительно по адресу ...realmonitor?subtype=0 - ничего нет.
Из консоли у меня всё работает, НО там тоже была загвоздка с ссылкой и её пришлось указывать в двойных кавычках (одинарные не принял)
Shell_exec тоже пробовал - не помогло.