Estou tentando desenhar algum texto no vídeo usando ffmpeg e preciso do arquivo de saída com a mesma qualidade e tamanho de arquivo da entrada.
Usando o comando abaixo,
./ffmpeg -i live0.ts -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:a copy output.ts
Eu posso ver que a qualidade e o tamanho do arquivo são diferentes. Usando o arquivo .ts Estou recebendo o arquivo de saída de tamanho maior (> 3 vezes) onde a qualidade parece igual. Quando eu uso o arquivo .mp4, a qualidade é reduzida, assim como o tamanho do arquivo.
O que eu preciso é colocar algum texto no arquivo de vídeo sem alterar a qualidade e o tamanho do arquivo.
Editar: A saída do console do comando no caso do arquivo .ts.
ffmpeg version 2.1.git Copyright (c) 2000-2014 the FFmpeg developers
built on Mar 8 2016 22:06:51 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
configuration: --enable-libfreetype --enable-filter=drawtext --prefix=../build_Mar-8-2016
libavutil 52. 66.100 / 52. 66.100
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 33.100 / 55. 33.100
libavdevice 55. 10.100 / 55. 10.100
libavfilter 4. 1.103 / 4. 1.103
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 18.100 / 0. 18.100
Input #0, mpegts, from 'live0.ts':
Duration: 00:00:03.27, start: 0.666667, bitrate: 313 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 704x480, 15 tbr, 90k tbn, 180k tbc
Output #0, mpegts, to 'output.ts':
Metadata:
encoder : Lavf55.33.100
Stream #0:0: Video: mpeg2video, yuv420p, 704x480, q=2-31, 200 kb/s, 90k tbn, 15 tbc
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> mpeg2video)
Press [q] to stop, [?] for help
frame= 50 fps=0.0 q=9.5 Lsize= 428kB time=00:00:03.26 bitrate=1072.8kbits/s
video:390kB audio:0kB subtitle:0 data:0 global headers:0kB muxing overhead 9.770431%
Tags ffmpeg