Como adicionar música a uma imagem com mencoder

2

Estou tentando usar o mencoder para fazer um vídeo que tenha música tocando em uma única imagem. Estou usando o mf para adicionar a imagem e sempre recebo um vídeo com cerca de um segundo de áudio com uma duração reportada de 0:00. Eu tentei com uma variedade de mp3 e imagens de diferentes fontes e tentei usar vários codecs e opções, mas não consigo passar este problema. Aqui está o comando básico:

mencoder "mf://image.jpg" -o out.avi -ovc lavc -lavcopts vcodec=mjpeg -audiofile music.mp3 -oac copy

Alguém sabe como fazer isso ou porque o mencoder corta a música para um segundo?

    
por Tim 22.12.2010 / 08:04

2 respostas

3

É porque o FPS padrão está configurado para 30, então o mencoder espera 30 imagens por segundo - você tem que dizer ao mencoder para usar uma imagem para todo o registro, então você precisa configurar o FPS para 1 / "duração". p>

Adicione estas opções:

-fps 1/132.8 -ofps 30

onde 132.8 é a duração (em segundos) do seu áudio.

O resultado deve ser assim:

mencoder mf://image.jpg -o out.avi \
        -ovc lavc -lavcopts vcodec=mjpeg -audiofile music.mp3 \
        -oac copy -fps 1/132.8 -ofps 30
    
por Vojtech Trefny 22.12.2010 / 08:21
1

Eu só vim com uma alternativa em que você forneceria a mesma imagem de um pipe:

for x in 'seq 1 55'; do cat image.jpg; done | mencoder -o out.avi -fps 1 -ovc lavc -demuxer lavf -lavfdopts format=mjpeg -audiofile music.mp3 -oac copy -

onde você substituiria 55 pelo número de segundos que deseja (essa seria a duração da música, como você deseja).

Mas, como você pode ver, é mais burro do que a resposta simples e direta ao ponto da Vojtech. A única vantagem que tive com essa alternativa foi o menor tamanho de arquivo resultante.

    
por Charles Roberto Canato 22.12.2010 / 09:56