Temos um sistema que suporta streaming de vídeo, mas suportamos vários players. Eu tenho vários sistemas que eu poderia usar para isso. Atualmente, tenho usado o servidor de mídia que usamos para transmitir o vídeo, que tem o ffmpeg (rodando o Red Hat 4). Nesse sistema, usei:
ffmpeg -i INPUT_FILE.mp4 -c:v libx264 -crf 23 -maxrate 3000k -bufsize 30000k -c:a aac -strict experimental -b:a 192k -filter:v "scale=iw*min($width/iw\,$height/ih):ih*min($width/iw\,$height/ih), pad=$width:$height:($width-iw*min($width/iw\,$height/ih))/2:($height-ih*min($width/iw\,$height/ih))/2" -f OUTPUT_FILE.mp4
E eu achei que funcionou bem. Em um arquivo que eu costumava testar, ele parecia ser exibido corretamente em ambos os tipos de jogadores. Em um arquivo diferente, ele não apareceu corretamente. Os arquivos de entrada também estão em formatos variados (principalmente mp4, com alguns arquivos m4g) e diferentes proporções.
Também temos muitas máquinas de desktop / laptop que estão executando o Ubuntu 13.04 (vem com o avconv) que eu gostaria de poder usar para formatar vídeo também. Se eu conseguir pelo menos um desses sistemas para formatar corretamente o vídeo, isso seria ótimo, mas idealmente eu gostaria de descobrir como fazer isso com o avconv AND ffmpeg para que eu possa usar qualquer sistema.
O problema que estamos tentando resolver é que um jogador é um dispositivo Android DMP, que reproduz um vídeo de tamanhos variados, adicionando barras pretas nas laterais ou superior / inferior, conforme necessário, para manter o tamanho do vídeo corretamente . O outro jogador é um Samsung Smart TV, que é tão inteligente que pode reformatar vídeos para caber na tela. O que é horrível, porque se eles não forem dimensionados exatamente no formato certo, eles irão esticá-los em uma direção ou outra para que sejam dimensionados corretamente. As pessoas do show de vídeo resultante parecem ter 8 pés de altura e pesar 130 libras, ou 4 pés de altura e 3 pés de largura.
Como consertar isso?