Я работаю с ffmpeg.

Я могу получить эскиз от RTSP с помощью команды, как показано ниже:

ffmpeg -itsoffset -4 -f rtsp -rtsp_transport tcp -i rtsp://fostv.com:554/test/smarttv_sample.ts.pac -vframes 1 -s 420x270 /home/guest/ffmpegsample.bmp

Проблема в том, что я хочу, чтобы взять эскиз с позиции, которую я хочу.

Если это локальный файл, я могу сделать это с опцией "-ss". Как я могу достичь этого с помощью потока?

Я хочу взять миниатюру через 10 минут после начала видео.

2 ответа2

1

Я решил это ниже

ffmpeg -ss 600 -f rtsp -rtsp_transport tcp -i rtsp://fostv.com:554/test/smarttv_sample.ts.pac -vframes 1 -s 420x270 /home/guest/ffmpegsample.bmp

был легкий путь :-)

0

Лучший способ - генерировать миниатюры на стороне сервера и передавать их отдельно. Вы можете попытаться найти поток через 10 минут в будущем, однако имейте в виду, что на сервере должно быть как минимум 10-минутное хранилище каналов и возможность искать поток (как может ffserver):

ffserver - потоковый сервер для аудио и видео. Он поддерживает несколько прямых трансляций, потоковую передачу из файлов и сдвиг во времени в прямом эфире (вы можете искать позиции в прошлом для каждого живого канала при условии, что вы указали достаточно большое хранилище каналов в «ffserver.conf»).

Это в основном зависит от того, что сервер может сделать. Я не знаю точно, что это за параметр (вероятно, тот же -ss), но кажется, что сам сервер должен позволить искать 10 минут в будущем, чтобы это работало.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .