Question

Quelle est la meilleure façon de transcoder l’audio et la vidéo pour les diffuser sur le Web ?

Je dois le faire par programme.J'aimerais faire quelque chose comme YouTube ou Google Video où les utilisateurs peuvent télécharger le format de leur choix, et je l'encode en flv, mp3 et/ou mp4.Je pourrais le faire sur notre serveur, mais je préfère utiliser une instance EC2 ou même un service web.Nous avons un serveur Windows 2008.

Était-ce utile?

La solution

Je recommande fortement ffmpeg.Sous Windows, j'ai trouvé ce site pour héberger de bons binaires.

Autres conseils

Cela dépend en quelque sorte du montant que vous souhaitez dépenser.s'il s'agit d'une toute nouvelle idée (et pour la plupart non financée), alors suivez la voie ffmpeg, mais à mesure que vous évoluez et cherchez à améliorer la qualité, envisagez l'un des outils d'encodage les plus professionnels pouvant être automatisés (Rhozet, Inlet, Digital Rapids sont 3 possibilités).

ffmpeg peut le faire, c'est un outil en ligne de commande qui utilise le libavcodec.Peut gérer la conversion de la plupart des formats vidéo.Sa licence est LPGL, si cela répond à vos besoins.Vous pouvez l'utiliser comme un processus distinct par programme, ou si vous vous sentez hardcore, vous pouvez utiliser vous-même la bibliothèque libavcodec pour encoder directement.

Lorsque vous souhaitez transcoder en Flv (qui est probablement le meilleur pour le Web), j'utilise cette ligne :

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

Cela fonctionne très bien, sous Linux bien sûr :-).

Sachez que certaines parties de ffmpeg sont sous GPL.Je crois que le module libpostproc l'est et si je me souviens bien, il est utilisé dans le transcodage.Assurez-vous que cette licence est compatible avec ce que vous faites.

Je jetterais un œil au SDK de référence de Main Concept :

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

Il est conçu pour le transcodage et, comme il s'agit d'un SDK sous licence, il ne présente aucun des problèmes juridiques liés à ffmpeg/libavcodec.

Si vous recherchez des éléments sous GPL :

Pour du son, essayez sox. Très puissant!Ça fait beaucoup !Il est inclus dans la plupart des distributions Linux.

Il y a aussi le fameux BOITEUX pour l'encodage mp3 [audio].

Pour la vidéo, codeur men c'est impressionnant !Cela fait partie du lecteur MP3 emballer.Il gérera les conversions de la plupart des formats vidéo.Il existait bien plus que ce dont j'avais jamais rêvé.(Pour la documentation, voir Chapitre 9.Utilisation de base de MEncoder et Chapitre 10.Encodage avec MEncoder.)

Ce qu'il peut créer est un peu plus limité.Mais il prend en charge mpeg4, mpeg2, DVD-MPEG, flv, et plein d'autres.(Même si je n'ai pas essayé flv moi-même, Google montre que d'autres personnes l'utilisent.)

J'ai fait des choses comme jpeg + son -> film 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 transcodez une vidéo formatée arbitrairement en mpeg compatible 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 [Modifier les listes de décisions] est utilisé pour supprimer uniquement les sections vidéo que je souhaite.

${VBITRATE} est normalement de 5 000 pour les DVD-mpeg-vidéo.Mais si vous vous trompez un peu, vous pouvez compresser davantage de vidéo sur un DVD.En supposant que vous puissiez tolérer les artefacts.

scale=720:480,harddup -- Petit problème avec l'échelle qui n'est pas la bonne pour mon lecteur DVD, et harddup pour résoudre un problème de désynchronisation son-vidéo sur mon "el cheapo" joueur.

(Pour lire sur un lecteur grand écran qui ne prendrait pas en charge la vidéo 4x3, j'ai utilisé des atrocités comme "aspect=16/9", "-vf scale=560:480,expand=720:480,harddup".Mais en général, vous ne voulez pas perdre de bits à coder des barres noires.)

Ce n’est pas l’ensemble d’options le plus efficace pour codeur men de loin!Cela peut prendre du temps à exécuter.Mais j'avais d'autres objectifs en tête...

Codeur Carbone Rhozet peut gérer un large gamme de formats de plus, vous pouvez utiliser des plugins pour modifier la vidéo (par exemple ajouter un filigrane)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top