http://acinerella.sourceforge.net/img/acin_logo.jpg
Über:
Acinerella ist ein in C geschriebener Wrapper für die Dekodierfähigkeiten der FFMpeg Bibliotheken libavformat und libavcodec. Acinerella exportiert gerade mal 10
API-Funktionen - daher ist es sehr einfach die Headerdatei zu übersetzen und Acinerella mit anderen Programmiersprachen (zum Beispiel Pascal) zu verwenden. Würde man FFMpeg direkt verwenden wollen, so muss man drei 1000 Zeilen lange Header übertragen. Zwar gibt es eine Pascal Version dafür, doch diese ist nicht Up-To-Date und dazu höchst wahrscheinlich Fehlerhaft.
Acinerella ist einfach zu verwenden. Somit ist die größte Hürde auf dem Weg zum eigenen Video- und Audioplayer - das dekodieren der Daten - genommen. Die Datenströme werden direkt aus dem Speicher geladen, wodurch sich größtmögliche Freiheit bei der Entwicklung ergibt.
Alle FFMpeg Bibliotheken sind statisch mit Acinerella verbunden, wodurch sich eine einzelne, 2 MB große,
DLL ergibt.
Einige unterstützte Formate:- Audioformate:
- MP3
- OGG
- WAV, AIFF
- WMA
- AC3
- FLAC
- Videoformate:
- MPEG2 (Als MPEG PS (*.mpg, *.vob) oder TS (z.b. *.ts))
- H.246
- AVI
- WMV
- MOV
- FLV
- OGG
- Bink&Smacker
Wichtig:
Die Bibliothek ist unter der
GPL veröffentlicht! Also wer damit geschriebene Programme veröffentlicht, muss (entsprechend der Lizenz) den Sourcecode davon ebenfalls offen legen.
Mehr Infos (oder auch nicht):
Auf der Acinerella Website:
http://acinerella.sourceforge.net/
Changelog:
Version 1.4
Proben und Scoringsystem hinzugefügt
Internes und verbuggtes Protokol-System entfernt und ersetzt
Compiliert mit brandneuer ffmpeg-revision (vom 22. Mai 2010)
Makefile verbessert
Probleme mit dem Delphi-Memorymanager und Linux aufgelöst
Version 1.3
Medieninformationen (Autor, Titel, Album, Länge, etc.) hinzugefügt
Zeitsprungunterstützung hinzugefügt (ac_seek Funktion)
Umgehung für springende Zeitstempel hinzugefügt (wie dies zum Beisipel bei OGG-Dateien der Fall war)
Fehler in der Erzeugungsfunktion für einzigartige Protokollnamen behoben
Version 1.2
Compiliert mit FFMpeg 0.5
Neue Dateitypen: WMV, WMA, besserer Support für OGG-Theora, FLV
"Streamseek" Callbackfunktion hinzugefügt (nicht für das aktive Suchen im Stream(!))
Läuft ohne Probleme unter Linux (statisch oder dynamisch mit FFMpeg gelinkt)
Fehler in ac_free_decoder behoben
Delphi 2009 kompatibilität des Headers.
Version 1.1
Bug behoben, durch den Acinerella nach dem sequentiellen laden von einigen Dateien (3-10) mit einer
AV abstürzt
Bug behoben, durch den Acinerella spätestens nach dem sequentiellen laden von 26 Dateien nicht mehr funktioniert
Der Header sollte nun auch mit Delphi 2009 laufen (siehe
hier)
Die mitgelieferte test.c lief nur mit Cygwin, nicht wenn sie mit MinGW kompiliert wurde. Das ist jetzt auch behoben.
Nach wie vor können maximal nur 26 Dateien gleichzeitig geöffnet sein. Wer will kann diese Beschränkung beheben (acinerella.c->unique_protocol_name)
Die mitgelieferte
DLL ist nun um ca. 1MB kleiner, was sich u.u. jedoch auf die Performance auswirken kann. Wer will kann sich seine eigene Version kompilieren.
Version 1.0
Initiale Veröffentlichung
Der Download:
Im Anhang ist meine aktuelle Version der Bibliothek, sowie der Pascal-Header und ein in Delphi geschriebenes Demo Programm (Exe im Ordner /bin, Quellen im Ordner /header/pascal/demo). Um das Programm zu verwenden, einfach im Explorer die zu öffnende Videodatei per Ziehen und Ablegen auf das Exe-Symbol ziehen. Wird eine Videospur gefunden, so wird diese in einem Fenster (über die
GDI, sieht daher mies aus) wiedergegeben. Die erste Audiospur wird in eine Datei "out.wav" im Arbeitsverzeichnis ausgegeben.
Die Bibliothek kann hier heruntergeladen werden:
http://downloads.sourceforge.net/aci...se_mirror=osdn (1.9 MB, TAR.BZ2)
Viel Spaß damit,
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein