Можно ли как захватывать (записывать) поток RTSP , так и захватывать события смены сцены, используя одну команду ffmpeg?Я почти могу делать то, что хочу:
ffmpeg -i 'rtsp://mystream' \
-map 0:v -map 0:a -c:v copy -c:a copy -f segment \
-segment_time 300 -segment_format matroska -strftime 1 "%Y%m%d%H%M%S_video.mkv" \
-map 0:v -an -filter:v "select='gt(scene,0.1)'" -frames:v 1 "%Y%m%d%H%M%S_scenechange.png"
Это дает мне хорошие сегменты потока 300-х, сохраненные на диск, и scene.png при обнаружении смены сцены. Однако , scene.png появляется только тогда, когда я завершаю процесс, а когда я это делаю, я получаю только последнее событие сцены.В идеале я хотел бы получить новый PNG (или, что еще лучше, короткий видеоклип) каждый раз, когда обнаруживается изменение сцены, без прерывания записи video.mkv.Я уверен, что это можно сделать с помощью каналов и нескольких команд ffmpeg, но для простоты (и в основном для моего собственного любопытства на данный момент) я хотел бы посмотреть, что можно сделать с помощью всего одного процесса.