ffmpeg do fluxo 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 reescrevi 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,

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

    
por Haris 09.03.2016 / 06:21

1 resposta

1

A filtragem requer recodificação , então você não pode copy e filtrar o mesmo fluxo.

Remova -codec copy ou evite a filtragem. Ainda é possível transmitir o áudio com -c:a copy , pois ele não está sendo filtrado:

    
por 11.03.2016 / 03:07

Tags