Estou tentando reduzir a resolução de um vídeo HD gravado pelo TVheadend para o tamanho SD usando o seguinte comando:
avconv -i infile.ts -map 0:v -map 0:a:0 -map 0:a:1 -c copy -c:v mpeg2video -r 25 -qscale:v 2 -s:v 720x576 -f mpeg outfile.mpeg
A saída do avconv parece boa até agora:
Input #0, mpegts, from 'infile.ts':
Duration: 02:44:44.69, start: 68943.055278, bitrate: 7408 kb/s
Program 9036
Metadata:
service_provider: upc
Stream #0.0[0x50]: Video: h264 (High), yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 100 tbc
Stream #0.1[0x52](eng): Audio: mp2, 48000 Hz, stereo, s16p, 192 kb/s
Stream #0.2[0x5b](ger): Audio: ac3, 48000 Hz, 5.1, fltp, 448 kb/s
No Program
Stream #0.3[0x6e]: Audio: mp1, 0 channels, s16p
[h264 @ 0x1bd9aa0] Ignoring NAL unit 9 during extradata parsing
[mpeg @ 0x1ab4d60] VBV buffer size not set, muxing may fail
Output #0, mpeg, to 'outfile.mpeg':
Metadata:
encoder : Lavf54.20.4
Stream #0.0: Video: mpeg2video, yuv420p, 720x576 [PAR 64:45 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream #0.1(eng): Audio: mp2, 48000 Hz, stereo, 192 kb/s
Stream #0.2(ger): Audio: ac3, 48000 Hz, 5.1, 448 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> mpeg2video)
Stream #0:1 -> #0:1 (copy)
Stream #0:2 -> #0:2 (copy)
Press ctrl-c to stop encoding
E a qualidade também é boa. Mas quando eu jogo em VLC e tento mudar o canal de áudio, vejo uma lista crescente de faixas de áudio, e apenas a primeira é utilizável. E também nas informações do Code eu vejo uma lista que adiciona permanentemente novas linhas, depois de alguns segundos, eu já vejo mais de 100 streams de diferentes formatos (legendas, áudio de diferentes formatos, etc.):
Alguémsabeondeestáoerro?
Eudiriaqueoformatocontêinerestáconfusodevidoaumbug,masaconteceemversõesdiferentes:Eutenteiusarffmpegversão2.7.6-0ubuntu0.15.10.1noubuntuwilyeavconvversão9.18-6:9.18-0ubuntu0.14.04.1notrusty.noastuto,offmpegtambémimprimeInvalidUEgolombcode
acada~25quadros
Atualização:
Aquiestáumapequenasequênciadoarquivodeentradaparateste: infile.ts