Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Wie ermittelt man den korrekten Codec für ein Video? (https://www.delphipraxis.net/182986-wie-ermittelt-man-den-korrekten-codec-fuer-ein-video.html)

Sherlock 2. Dez 2014 07:56

Wie ermittelt man den korrekten Codec für ein Video?
 
Ich muss mal ein wenig in die Multimedia-Welt eintauchen. Gleich zu
Delphi-Quellcode:
Begin
stellt sich mir eine gewisse Hürde in den Weg: Wie finde ich im Programm heraus, welchen Codec ich zum Abspielen eines Videos benötige? Grundsätzlich helfen Dateierweiterungen in der Hinsicht ja nicht so sehr, in Zeiten von beliebigen Inhalten für .avi und .mkv. Ich meine mich zu erinnern, daß es da irgendwo Header geben müsste, die man irgendwie analysieren könnte, "magic bytes" sozusagen. Hat da jemand den einen oder anderen Fingerzeig in die richtige Richtung? Ich muss übrigens explizit wissen, was das für ein Video ist. Ich will es nicht in eine MediaPlayer Komponente werfen und mich damit zufrieden geben. Meine Videoquellen erlauben variable Frameraten, mit denen der herkömmliche Mediaplayer so gar nicht zurecht kommt.

Sherlock

TiGü 2. Dez 2014 08:41

AW: Wie ermittelt man den korrekten Codec für ein Video?
 
Welches Framework nutzt du denn?
Media Foundation, DirectShow, FFMPEG, VLC Media Player...?
So ganz aus der hohlen Hand wirst du ja nicht arbeiten bzw. alles vom Grunde auf selber implementieren.
Willst/Musst du Datei basiert arbeiten oder hast du auch Streams von Kameras/Medienquellen?

hathor 2. Dez 2014 08:52

AW: Wie ermittelt man den korrekten Codec für ein Video?
 
http://www.fourcc.org/codecs.php
http://www.libe.net/themen/FourCC-Codec-Codes.php

DeddyH 2. Dez 2014 08:55

AW: Wie ermittelt man den korrekten Codec für ein Video?
 
Da ich von Natur aus faul bin, würde ich den schon angesprochenen VLC in Betracht ziehen: https://wiki.videolan.org/Using_libvlc_with_Delphi/

Sherlock 2. Dez 2014 09:52

AW: Wie ermittelt man den korrekten Codec für ein Video?
 
Also ich verwende die DICOM LEAD-Tools für die Wiedergabe. Ich benötige die Videos frameweise, um die Videos mit variabler Framerate wiedergeben zu können. Bei den LEAD-Tools sind nur leider nicht so sehr viele Codecs eingebaut (im Prinzip nur MP4 und nahe Verwandte), und ich muss dann auf eine andere Komponente ausweichen, die mir mit Hilfe der im System vorhandenen Codecs ebensolche Framehäppchen liefert. Dazu muss ich aber dieser Komponente sagen, was für ein Codec verwendet werden soll (die könnte ja selbst den fourCC auslesen, aber...seufz).

Sherlock

Medium 2. Dez 2014 14:23

AW: Wie ermittelt man den korrekten Codec für ein Video?
 
Ich weiss nicht, ob es noch aktuell gehalten wird, aber vor ein paar Jahren hatte mir das DSPack sehr bei so etwas geholfen. Ich meine auch, dass dort der konkrete Codec ohne viel Zutun gewählt wurde.

TiGü 2. Dez 2014 14:31

AW: Wie ermittelt man den korrekten Codec für ein Video?
 
Zitat:

Zitat von Sherlock (Beitrag 1281933)
Bei den LEAD-Tools sind nur leider nicht so sehr viele Codecs eingebaut (im Prinzip nur MP4 und nahe Verwandte).
Dazu muss ich aber dieser Komponente sagen, was für ein Codec verwendet werden soll (die könnte ja selbst den fourCC auslesen, aber...seufz).

Beachte: Containerformat <> Codecs!:warn:

Wenn man mal so quer surft auf der LEAD-Website sind doch allerhand Codecs eingebaut: https://www.leadtools.com/sdk/multim...mcmp-mjpeg.htm

Ich kann mir nicht vorstellen, dass nicht irgendwo in deren SDK-Beispielen gezeigt wird, wie man die FourCC der jeweiligen Datei erkennt und anhand dessen den Decoder erzeugt.
Ggf. suche nach einer Lösung per DirectShow/Media Foundation in der MSDN.

hathor 2. Dez 2014 15:58

AW: Wie ermittelt man den korrekten Codec für ein Video?
 
MEDIAINFO:

http://www.fr-an.de/soft/04/index.htm

http://www.delphipraxis.net/attachme...diainfodll.pas
http://www.delphipraxis.net/32578-ve...ainfo-dll.html

http://sourceforge.net/projects/mediainfo/files/


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz