ffmpeg do stream copia junto com texto de desenho

0

Eu preciso gravar um fluxo RTSP, antes de armazená-lo eu preciso desenhar algum texto no vídeo.

E o comando abaixo funciona bem apenas para gravação de fluxo (sem gravação de texto).

openRTSP -D 10 -v -t -c -b 800000 rtsp://video_link.mov | ./ffmpeg -r 15 -i - -codec copy -hls_list_size 65535 -hls_time 2 "./video/live.m3u8"

Mas também preciso desenhar algum texto no vídeo antes de gravar. Então eu reescrevo o comando acima como

openRTSP -D 10 -v -t -c -b 800000 rtsp://video_link.mov | ./ffmpeg -r 15 -i - -vf drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf: text='Some Text': fontcolor=white: fontsize=24: box=1: boxcolor=black: x=(w-text_w)/2: y=(h-text_h-line_h)/2" -codec copy -hls_list_size 65535 -hls_time 2 "./video/live.m3u8"

Mas dando o erro como,

input #0, h264, from 'pipe:':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (High), yuv420p, 704x480, 25 fps, 25 tbr, 1200k tbn, 50 tbc
Filtergraph 'drawtext=fontfile=/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf: text='Stack Overflow': fontcolor=white: fontsize=24: box=1: boxcolor=black: x=(w-text_w)/2: y=(h-text_h-line_h)/2' was defined for video output stream 0:0 but codec copy was selected.
Filtering and streamcopy cannot be used together.

Eu entendo que tanto a gravação quanto o desenho não podem ser executados juntos. Qualquer método existe semelhante, para resolver o problema acima?

Haris
fonte
2
A filtragem requer recodificação, portanto, não é possível transmitir e copiar o mesmo fluxo.
llogan
Obrigado pela resposta, então existe algum método para receber fluxo- & gt; desenhar algum texto- & gt; escrever no arquivo de vídeo. Ou eu preciso reabrir o arquivo gravado e depois desenhar o texto como explicado aqui stackoverflow.com/questions/17623676/text-on-video-ffmpeg
Haris

Respostas: