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?
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