Converte vídeo alterando apenas a taxa de bits

1

Eu tenho um programa mediaplayer que fica jogando um arquivo específico. Minha suposição é que é por causa da alta taxa de bits de vídeo (41.3 Mbps) e CPU muito lenta (é um sistema embarcado). Então, quero ter certeza de que a taxa de bits é o caso.

A pergunta é: como posso converter o videofile, alterando a taxa de bits de vídeo somente ? Eu posso usar o avconv ou qualquer outro pacote de repositórios Debian.

    
por JIghtuse 10.10.2014 / 04:57

1 resposta

1

Para manter um fluxo no arquivo intacto ao transformá-lo com avconv (áudio no seu caso), use -codec:[stream_specifier] copy - portanto -codec:a copy ou -acodec copy em seu caso particular (consulte a página avconv(1) man) .

No entanto, , alterar a taxa de bits significa re-codificar todo o vídeo - acho que você está jogando algo como FullHD. Re-codificá-lo enquanto minimiza a perda de qualidade da imagem levaria uma quantidade significativa de tempo, mesmo em uma máquina rápida. Eu sugiro primeiro tentar descartar outras coisas como arquivo quebrado, exibir a velocidade do driver etc. Primeiro, tente outros arquivos com taxa de bits semelhante. Em seguida, tente dimensionar a imagem: em sistemas de desktop lentos, descobri que isso geralmente ajuda a reduzir a resolução do quadro. Em mplayer ou mpv , isso pode ser alcançado com:

$ mpv -vf scale=480 -sws=4

que para FullHD apenas cai a cada três de quatro pixels (em todas as direções - daí você obterá a cada 16 pixels em um avião). Se isso ajudar, mexa na resolução desejada e no algoritmo do software scaler para obter o melhor resultado ainda assistível.

Por último, mas não menos importante, você não está mencionando o tipo de sistema que você tem. Atualmente, muitos vêm com recursos de decodificação (e codificação) assistidos por hardware - você tem certeza de que seu sistema não o possui ou o habilitou?

    
por 10.10.2014 / 12:40