Pergunta

Qual é a melhor forma de transcodificar áudio e vídeo para exibição na web?

Eu preciso fazer isso programaticamente.Eu gostaria de fazer algo como o YouTube ou o Google Video, onde os usuários possam fazer upload de qualquer formato que desejarem e eu o codifico para flv, mp3 e/ou mp4.Eu poderia fazer isso em nosso servidor, mas prefiro usar uma instância EC2 ou até mesmo um serviço web.Temos um servidor Windows 2008.

Foi útil?

Solução

Eu recomendo fortemente o ffmpeg.No Windows, descobri esse site para hospedar bons binários.

Outras dicas

depende de quanto você deseja gastar.se esta for uma ideia totalmente nova (e em grande parte sem financiamento), siga o caminho do ffmpeg, mas à medida que você dimensiona e procura melhorar a qualidade, considere uma das ferramentas de codificação mais profissionais que podem ser automatizadas (Rhozet, Inlet, Digital Rapids são 3 opções).

ffmpeg pode fazer isso, é uma ferramenta de linha de comando que usa o libavcodec.Pode lidar com a conversão da maioria dos formatos de vídeo.Sua licença é LPGL, se for adequada às suas necessidades.Você pode utilizá-lo como um processo separado programaticamente ou, se estiver se sentindo hardcore, você mesmo pode usar a biblioteca libavcodec para codificar diretamente.

Quando você deseja transcodificar para Flv (que é provavelmente o melhor para a web), eu uso esta linha:

ffmpeg -hq -y -i $directory/$file -r 20 -s 300x200 -deinterlace -ar 22050 $directory/$file.flv 1>/dev/null 2>/dev/null

Funciona muito bem, no Linux é claro :-).

Esteja ciente de que certas partes do ffmpeg estão sob GPL.Acredito que o módulo libpostproc seja e, se bem me lembro, ele é usado na transcodificação.Certifique-se de que esta licença seja compatível com o que você está fazendo.

Eu daria uma olhada no SDK de referência do Main Concept:

http://www.mainconcept.com/site/developer-products-6/pc-based-sdks-20974/reference-sdk-21221/information-21243.html

Ele foi desenvolvido para transcodificação e, por ser um SDK licenciado, não apresenta nenhum dos problemas legais relacionados ao ffmpeg/libavcodec.

Se você está procurando por coisas GPL:

Para mexer no áudio, tente porcaria. Muito poderoso!Faz muito!Está incluído na maioria das distribuições Linux.

Há também o famoso MUITO RUIM para codificação mp3 [áudio].

Para vídeo, codificador é impressionante!Faz parte do player pacote.Ele irá lidar com conversões da maioria dos formatos de vídeo.Muito mais do que eu jamais sonhei que existia.(Para documentação, consulte Capítulo 9.Uso básico do MEncoder e Capítulo 10.Codificação com MEncoder.)

É um pouco mais limitado sobre o que pode criar.Mas suporta mpeg4, mpeg2, dvd-mpeg, flv, e muitos outros.(Embora eu não tenha tentado flv eu mesmo, o Google mostra que outras pessoas estão usando.)

Eu fiz coisas como jpeg + som -> filme mpeg4:

nice +20 $MENCODER mf://${JPEGFILE}  -mf w=720:h=480:fps=1/${SOUNDLENGTH}:type=jpeg -audiofile ${SOUNDFILE} -ovc lavc -oac lavc -lavcopts vcodec=mpeg4 -ofps 30000/1001 -o ${MENU_MPG}

Ou transcodifique vídeo formatado arbitrariamente para MPEG compatível com DVD:

nice +20 $MENCODER -edl ${EDL} -ovc lavc -oac lavc -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=${VBITRATE}:keyint=18:acodec=ac3:abitrate=192:aspect=4/3:trell:mbd=2:dia=4:cmp=3:precmp=3:ildctcmp=3:subcmp=3:mbcmp=3:cbp:mv0:dc=10 -of mpeg -mpegopts format=dvd -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 -ofps 30000/1001 -o ./${INFILE}.reformatted  ${FILEPATH}

-edl/-edlout [Editar listas de decisões] são usados ​​para cortar apenas as seções de vídeo que eu quero.

${VBITRATE} normalmente é 5.000 para DVD-mpeg-video.Mas se você errar um pouco, poderá colocar mais vídeo em um DVD.Supondo que você possa tolerar os artefatos.

scale=720:480,harddup - Pequeno problema com a escala errada para meu dvdplayer e harddup para resolver um problema de dessincronização de som e vídeo em meu "el barato" jogador.

(Para reproduzir em um player widescreen que não suportaria vídeo 4x3, usei atrocidades como "aspecto=16/9", "escala -vf = 560:480, expandir = 720: 480, harddup".Mas, em geral, você não quer desperdiçar bits codificando barras pretas.)

Este não é o conjunto mais eficiente de opções para codificador de longe!A execução pode ser demorada.Mas eu tinha outros objetivos em mente...

Codificador de Carbono Rhozet pode lidar com um ampla gama de formatos além disso, você pode usar plug-ins para alterar o vídeo (por exemplo, adicionar uma marca d'água)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top