Como converter MP3 para o formato de vídeo permitido pelo Youtube?

6

Eu tenho muitos arquivos MP3 no meu site e decidi enviá-los para o Youtube, mas infelizmente para mim, o Youtube não me permite fazer isso. Requer somente o formato de vídeo.

Como posso converter esses MP3s em vídeo e adicionar o mesmo conjunto de imagens (uma ou mais imagens) ao formato de vídeo resultante.

Eu preciso fazer isso em massa, não individualmente, eu tenho centenas de arquivos MP3.

Pode ser um aplicativo baseado em Windows ou baseado em Linux.

    
por malhobayyeb 12.01.2014 / 00:45

3 respostas

7

Há algumas informações sobre como usar o ffmpeg para codificar áudio com uma imagem estática para o YouTube, aqui e alguns conselhos sobre como fazer conversões em massa no Windows, aqui .

Quanto à codificação, acho que isso funciona:

ffmpeg -loop 1 -r 1 -i pic.jpg -i audio.mp3 -c:a copy -shortest output.avi

    
por 12.01.2014 / 03:28
1

Existem algumas soluções para o Ubuntu e outros sistemas Linux no link . A maioria são comandos shell ou alguma outra linguagem de script rápida que pode ser colocada em loop para todos os MP3s, produzindo arquivos de vídeo. Depois, você pode simplesmente enfileirar os arquivos de vídeo para fazer o upload para o YouTube. Entre as soluções listadas na página:

  1. FFmpeg e, em seguida, carregue ficheiros para o YouTube
    ffmpeg -loop 1 -i picture.jpg -i music.mp3 -shortest -acodec copy video.mp4 Faça o loop de acordo com todos os arquivos mp3 e, em seguida, faça o upload de todos os arquivos de vídeo resultantes.

  2. Python, converta para mp4 e faça o upload de arquivos para o YouTube

    #! /usr/bin/env python

    import sys, os

    inputOne = sys.argv[1] inputTwo = sys.argv[2]

    for i in sys.argv[1:]: if '.mp3' in i: output = i.replace('mp3','mp4')

    cmd = 'ffmpeg -loop_input -i "'+inputOne+'" -i "'+inputTwo+'" -shortest -acodec copy "'+output+'"'

    os.system(cmd)

Ele também usa o ffmpeg e aceita músicas e imagens como argumentos.

    
por 12.01.2014 / 00:55
1

Você também pode considerar o bash on-line simples em vez do script python -

for i in *.mp3; do ffmpeg -v quiet -i "picture.jpg" -i "$i" -shortest -acodec copy "'sed 's/mp3/mp4/g'<<<$i'"; done

Isso converterá todos os arquivos de mp3 em sua pasta atual em vídeos mp4 com picture.jpg.

Para converter flac para mp3 que seria

for i in *.flac; do ffmpeg -v quiet -i "$i" -ab 320k -ac 2 -ar 48000 "'sed 's/flac/mp3/g'<<<$i'"; done

Aviso "- v quiet" , que desliga a boca do ffmpeg e também aspas duplas em torno de $ i e sed - isso garantirá que ele não falhe com nomes de arquivos contendo espaços.

Uma dica: a conversão para vídeo leva algum tempo (pelo menos para mim). Tente usar -threads 4 (ou qualquer outro valor, é claro. Não fará sentido em uma CPU single-core)

Editar: Descobri que "-loop 1" (sugerido por outros) cria um loop (que surpreendente!) Que é realmente infinito. No meu gentoo isso significa que ele vai comer todas as suas mordidas saborosas. Sem "-loop 1" funciona muito bem, então eu sugiro que você vá com isso.

    
por 28.07.2014 / 15:46