Wenn Sie Unterstützung für ein Video-Dateiformat und Codec hinzufügen müssten, welche würden Sie wählen?

StackOverflow https://stackoverflow.com/questions/305773

Frage

Ich bin auf der Suche, Unterstützung für das Lesen und Video-Dateien in meiner Anwendung zu schreiben. Wenn Sie hat genau ein Dateiformat und Codec-Kombination zu wählen, dass die Mehrheit der Nutzer zufrieden stellen würde, was würden Sie wählen:

1), MPEG-4 / H.264 (Mp4) 2) AVI / DiVX (Avi) 3) Ogg / Theora (Ogg) 4) Windows Media Video (.wmv)

Ich bin Neigung zu MPEG-4 / H.264 gegeben, dass es unter Linux, Mac OS X, der Flash-Player, iPods, Playstation 3, XBox360 unterstützt wird, und die Unterstützung ist in Vorbereitung in Microsoft Silverlight und Windows Media Player 12.

Fehle ich etwas? Gibt es etwas besser, wenn ich die Wahl werden könnte?

War es hilfreich?

Lösung

Es hängt davon ab, was Ihre Anwendung tut. Wenn Sie möchten, Videos von einer Video-Capture-Karte aufgezeichnet verarbeiten, werden Sie wahrscheinlich Dateien müssen in der Lage zu lesen .mpg mit mpeg2 eingebettet. Eine große Anzahl von Videos verwenden, um die .avi oder .wmv-Container. Microsoft treibt .wmv, aber .avi hat unter kostenlose Tools, viel besser zu unterstützen. Nicht viele Tools unterstützen .mp4-Container unter Windows (Mac ist wahrscheinlich anders). H.264, MPEG-2, MPEG-4 und sind meine Lieblings Codecs. H.264 ist große Qualität / Bitrate-weise, sondern macht eine präzise und schnelle sucht hart und ist extrem rechenintensiv. mpeg4 ist fast so gut wie h.264 in Bezug auf Qualität / Bitrate, aber es ist viel weniger rechenintensiv. mpeg2 erfordert viel mehr Bits die gleiche Qualität zu erreichen, aber es ist ziemlich überall unterstützt und es ist wirklich einfach in diesen Dateien zu entschlüsseln und suchen.

Wenn Sie nichts dagegen nicht LGPL-Code, würde ich vorschlagen, Blick auf ffmpeg 's libavcodec und libavformat. Es wird Ihnen alles, was Sie auf allen Plattformen erwähnen lassen tun (obwohl ich nicht sicher bin, über Ogg Theora und - ich habe sie nicht benutzt).

Andere Tipps

Ich denke, Ihre erste Option meine Wahl wäre. Ich denke, die meisten Anwendungen, die dieses Format lesen können, und es ist weniger flexibel.

Wenn ich richtig bin, AVI / DIVX-Dateien tatsächlich verschiedene Arten von Medien enthalten, gleiche gilt für wmv. Dies macht es schwieriger, diese Formate zu verwenden, da Sie alle Kodierungen unterstützen müssen.

Zunächst einmal werden Sie auch Ton in Ihren Videos? Wenn ja, ich mit mp3 gehen würde.

Nun, wenn man bedenkt den Video-Codec und Video-Container. Ich denke, dass Sie keine Optionen 3 und 4 aus verschiedenen Gründen in Betracht ziehen sollten. Theora ist wirklich unbeliebt (ich habe doch nur über eine theora Video kommen) und WMV ist eine Microsoft-Technologie, so dass Sie Ihre Möglichkeiten etwas begrenzt sind.

Nun, über die ersten beiden: Ich mit DivX (MPEG4 Part 2) Video in einen AVI-Container gehen würde. Es ist sehr beliebt, da die meisten Computer und viele DVDs sind in der Lage solche Videos zu spielen. Außerdem gibt es eine große Open-Source-DIVX-Codec, XVID. Schließlich muss DIVX viel weniger Ressourcen als H.264 sowohl für die Codierung und Decodierung. Die letzte ist wichtig, da je nach den Codierungsparametern, Echtzeit H.264-Kodierung nicht einmal unterstützt werden.

Der Mangel an Unterstützung von AVI / DIVX in einer Reihe von Plattformen ist kein Problem, da es wirklich einfach ist die Verwendung von Open-Source-Tool in einem beliebigen Format umcodiert werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top