2008-11-20 3 views
2

Je cherche à ajouter le support pour lire et écrire des fichiers vidéo dans mon application. Si vous deviez choisir exactement un format de fichier et la combinaison de codec qui satisferait la majorité des utilisateurs, qui choisiriez-vous:Si vous deviez ajouter un support pour un format de fichier vidéo et un codec, lequel choisiriez-vous?

1) MPEG-4/H.264 (.mp4) 2) AVI/DiVX (. avi) 3) Ogg/Theora (.ogg) 4) Windows Media Video (.wmv)

Je penche vers MPEG-4/H.264 étant donné qu'il est pris en charge sous Linux, Mac OS X, le lecteur Flash, iPods, Playstation 3, XBox360, et le soutien est à venir dans Microsoft Silverlight, et Windows Media Player 12.

Ai-je rien manqué? Y a-t-il quelque chose de mieux que je pourrais choisir?

Répondre

3

Cela dépend de ce que fait votre application. Si vous souhaitez traiter des vidéos enregistrées à partir d'une carte de capture vidéo, vous devrez probablement lire les fichiers .mpg avec mpeg2 embedded. Un grand nombre de vidéos utilisent le conteneur .avi ou .wmv. Microsoft pousse push .wmv, mais .avi a un meilleur support parmi les outils gratuits. Peu d'outils supportent les conteneurs .mp4 sous Windows (Mac est probablement différent). H.264, MPEG2 et MPEG4 sont mes codecs préférés. H.264 est d'excellente qualité/bitrate-sage mais rend précis et rapide cherche dur et est extrêmement processeur. MPEG4 est presque aussi bon que h.264 en termes de qualité/débit, mais il est beaucoup moins gourmand en CPU. MPEG2 nécessite beaucoup plus de bits pour atteindre la même qualité, mais il est supporté à peu près partout et il est vraiment facile de décoder et de chercher dans ces fichiers.

Si cela ne vous dérange pas d'utiliser le code LGPL, je suggère de regarder ffmpeg libavcodec et libavformat. Il vous laissera faire tout ce que vous mentionnez sur toutes les plateformes (même si je ne suis pas sûr de Ogg & Theora - Je ne les ai pas utilisées).

1

Je pense que votre première option serait mon choix. Je pense que la plupart des applications peuvent lire ce format, et il est moins flexible. Si je me trompe, les fichiers AVI/DIVX peuvent contenir différents types de médias, de même que wmv. Cela rend l'utilisation de ces formats plus difficile car vous devez prendre en charge tous les encodages.

0

Tout d'abord, auriez-vous aussi du son dans vos vidéos? Si oui, j'irais avec mp3.

Considérons maintenant le codec vidéo et le conteneur vidéo. Je pense que vous ne devriez pas considérer les options 3 et 4 pour diverses raisons. Theora est vraiment impopulaire (je n'ai pas encore rencontré une vidéo theora) et WMV est une technologie Microsoft, donc vos options sont un peu limitées. Maintenant, à propos des deux premiers: Je voudrais aller avec la vidéo DivX (Mpeg4 partie 2) dans un conteneur Avi. Il est très populaire car la plupart des ordinateurs et beaucoup de DVD sont capables de lire de telles vidéos. En outre, il existe un grand codec DIVX open source, XVID. Enfin, DIVX a besoin de beaucoup moins de ressources que H.264 pour l'encodage et le décodage. Le dernier est important car, en fonction des paramètres de codage, le codage H.264 en temps réel n'est même pas pris en charge.

Le manque de prise en charge d'AVI/DIVX sur un certain nombre de plates-formes n'est pas un problème car il est très facile de transcoder n'importe quel format en utilisant des outils open source.

Questions connexes