Eu resolvi isso de maneira abaixo
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
houve um caminho fácil: -)
Estou trabalhando com o ffmpeg.
Eu posso obter uma miniatura do comando rtsp via comando, como abaixo:
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
O problema é que eu quero tirar uma miniatura da posição que eu quero.
Se for um arquivo local, posso fazer isso com a opção "-ss". Como posso conseguir isso com um fluxo?
Eu quero tirar uma miniatura de 10 minutos após o início do vídeo.
A melhor maneira é gerar miniaturas no lado do servidor e transmitir separadamente. Você pode tentar buscar o fluxo de 10 minutos para o futuro, no entanto, tenha em mente que o servidor precisa ter pelo menos 10 minutos de armazenamento de feed e capacidade de procurar um fluxo (como ffserver):
ffserver is a streaming server for both audio and video. It supports several live feeds, streaming from files and time shifting on live feeds (you can seek to positions in the past on each live feed, provided you specify a big enough feed storage in ‘ffserver.conf’).
Depende basicamente do que o servidor pode fazer. Eu não sei exatamente qual parâmetro é (provavelmente mesmo -ss), mas parece que o próprio servidor deve permitir a busca de 10 minutos no futuro para que isso funcione.