AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Video/Audio Files/Spurenaufbau etc. -Thema: Grundlagen

Video/Audio Files/Spurenaufbau etc. -Thema: Grundlagen

Offene Frage von "BrightAngel"
Ein Thema von BrightAngel · begonnen am 14. Jun 2008 · letzter Beitrag vom 19. Jun 2008
Antwort Antwort
BrightAngel

Registriert seit: 13. Mär 2007
130 Beiträge
 
#1

Video/Audio Files/Spurenaufbau etc. -Thema: Grundlagen

  Alt 14. Jun 2008, 13:42
Hey!
Ich stöbere jetzt schon eine ganze weile im Netz bezüglich Audio und Videofiles, deren Aufbau usw.
Der Hintergrund ist der, dass ich bisher noch NIE ein Audio oder Videofile im Programm "manuell" zerlegt und ausgegeben habe, geschweige denn eines geschrieben habe.
Ich mache das immer über die TMediaPlayer Compo, oder habe per API Befehl ganze wav-files abgespielt (danke Suchfunktion delphipraxis!), was ja an sich imho nichts schlechtes ist?!?

Ich möchte jetzt aber einfach mal wissen, wie ich einzelene Soundtags bzw. Videoframes aus einer Datei auslese und ausgebe(sound) bzw. wieder schreibe.
Ich weis es gibt zig Formate und Kodierungsverfahren, Kompression usw., deshalb dachte ich einfach mal an avi. Jedoch wird das in der Praxis recht groß, wenn man - wie ich vlt. in naher Zukunft vorhabe - ein Programm zur Video-/Audiobearbeitung schreiben möchte(klein und fein nichts großes, mehr zu lernzwecken).

Daher vlt. doch lieber mpeg? Da habe ich schon rceht viel gefunden, aber alles eben gleich riesig. Riesen Funktionsumfang. und:teuer!

Ich habe mich natürlich auch hier schon umgesehen, aber ich hatte bisher noch keinen wirklichen erfolg, das zu finden, was mir helfen könnte.

Danke schon mal im vorraus und vlt. tuts auch schon ein link in die richtige richtung? ^^
Do you have the email of god??? --- I have to tell him that I'm happy to be born!
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Video/Audio Files/Spurenaufbau etc. -Thema: Grundlagen

  Alt 15. Jun 2008, 04:03
http://www.wotsit.org ist DIE Anlaufstelle, wenn es um Dateiformate geht. Dort gibt es zu nahezu allen offenen Formaten mindestens eine Kurzbeschreibung, oft aber sogar die originalen Spezifikationen.

Was AVI angeht, bist du nur auf halbem Wege zum Verständnis. AVI ist ein Containerformat (wie auch WAVE), dass lediglich eine Rahmenstruktur beschreibt, wie die enthaltenen Nutzdaten zu interpretieren sind. Innerhalb dieser Formate finden sich dann wieder eine ganze Fülle an weiteren Formaten, die untereinander sehr sehr unterschiedlich sein können.

Bei MPEG kommt es darauf an, welches du meinst. MPEG könnte mittlerweile offen sein, MPEG2 ist es imho nicht. Jedoch sind beide Formate mittlerweile ziemlich in die Tage gekommen.

Die meisten sehr aktuellen Formate (=Codecs) sind derzeit ohnehin Closed-Source, wohl weil sich derzeit mit effizienten Medienformaten ein Haufen Kohle machen lässt. Es gibt aber auch quelloffenen Alternativen. Einfach mal auf o.g. Website in den Audio- und Videoformaten stöbern!

Edit: Offenbar gibt es auch was zu MPEG2. Hab ich da eine Offenlegung verpennt? Bisher war mir noch im Hinterkopf, dass nahezu in allen Programmen MPEG2 Encoding nur durch meist recht teure Zusatzmodule zu bekommen war, bzw. dieses in Freeware Programmen nicht zur Auswahl stand.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
BrightAngel

Registriert seit: 13. Mär 2007
130 Beiträge
 
#3

Re: Video/Audio Files/Spurenaufbau etc. -Thema: Grundlagen

  Alt 15. Jun 2008, 13:34
Hey!
Danke ersteinmal für deine Antwort.
Ja, über wotsit.org bin ich auch schon gestolpert. Jedoch hilft es mir nur weiter um den Aufbau zu verstehen, jedoch nicht die tatsächliche Umsetzung, da ich ja noch nie mit solchen Formaten zu tun hatte. Ich hatte bisher immer meine Records, die ich gefüllt und ausgelesen hatte. eben recht statisch. Wie setzt man soetwas dynamisch um? (Bei den vielen Formaten...mir würde die einfachste ja schonmal reichen)
Algorithmen zur Kompression z.B..wie kann man diese auslesen? Oder kann man auf delphi-sourcen (als lehrmittel!) zurückgreifen? (also nicht den header einer dll wie z.b. libmpeg)
Ich hatte bisher immer nur kompilierte Fassungen gefunden(ich meine: klar. der autor will vlt. sein Geheimnis behalten^^).
Da ist es eben recht schwer auch nur den Einstieg in diese Materie zu finden.
Der andere Punkt bei dem ich lücken habe ist z.B.: wenn ich eine Tonwiedergabe habe, dann baut doch irgendwo im System ein Programm eine kontinuierliche Ausgabe zusammen, indem es die Bytewerte vom Ton per API an die soundkarte schickt oder?
Oder ist es ein stream, der dort ankommt und den die soundkarte verarbeitet? Erstere Version ist vmtl. zu langsam?

Man sieht ich habe in dieser Richtung noch rein gar keine Erfahrung und Grundlagen. In sachen Bild denke ich, dass ich eigentlich nur das Aus/Einlesen einzelner Frames brauche.

Nochmals danke für die Hilfe - auch für die die noch folgen wird?!?^^

Gruß Brighty
Do you have the email of god??? --- I have to tell him that I'm happy to be born!
  Mit Zitat antworten Zitat
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
934 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Video/Audio Files/Spurenaufbau etc. -Thema: Grundlagen

  Alt 15. Jun 2008, 19:16
Hi,

in der c't von 1994, Heft 11, Seite 327 wurde das Format von RIFF- und AVI-Dateien erklärt.

Des weiteren werden in der Toolbox(Heft 5/2002) Seite 58-68 wird "Der schönste Teil von DirectX: DirectShow" mit
Filtermanager, Einzelne Bilder aus einer Videodatei abspeichern, Grabben und Videos aufzeichnen
an Hand der DirectShow-Unit von Henri Gourvest erläutert.
"Erweitertes DirectShow mit Delphi" ist die Fortsetzung im Heft 6/2002.

Weitere Artikel in der Toolbox:

Von Wellen, Riffs und Klötzen (5/1999)
Angriff auf MPEG und MP3? (3/2005)
Mehr vom Windows Media Format SDK (5/2005)

Gruß
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Video/Audio Files/Spurenaufbau etc. -Thema: Grundlagen

  Alt 16. Jun 2008, 00:25
Zitat von BrightAngel:
Jedoch hilft es mir nur weiter um den Aufbau zu verstehen, jedoch nicht die tatsächliche Umsetzung, [...]
Dafür ist deine Frage dann zu allgemein. In den meisten Formaten kommt zwar in irgendeiner Variante die Bei Google suchenFourier Transformation vor, jedoch auch nicht in allen, und immer wieder mal in Details verschieden. Es ist also quasi unmöglich "mal eben" Videoformate allgemein zu erklären, da allein schon die Spezifikationen oft seitenlang sind, und dabei ist noch nicht ein Algo ausformuliert.

Verfahren, die oft zum Einsatz kommen:
  • Fourier Transformation
  • Wavelet Transformation
  • RLE Encoding
  • Featurepoint Tracking (beim Encoden)
  • Farbraumumwandlungen
  • Subsampling
  • Konturfindungsverfahren
  • Filter
  • Huffman Kompression
  • LZW Varianten
Die Liste ist sicher unvollständig, und nicht alles genannte wird überall angewendet, und wenn, auch meist in angepasster spezifischer Form. (Oft gibt es innerhalb von Codecs weitere Unterformate, bei denen sich Verfahrensschritte ändern.)

Du kannst dir daher also im Grunde nur ein einzelnes Format mal vornehmen, und das versuchen von Hand zu implementieren. Alle weiteren sind dann in Teilen ähnlich vom Verfahren her, aber für sich genommen wieder etwas ganz eigenes.

MP3 und RAW WAVE haben z.B. kaum noch etwas gemein, ebenso Cinepak und XviD. Das Feld ist für deine Fragestellung also zu groß.


Was die reine Tonwiedergabe angeht, so gibt es auch dort wieder viele Wege. Hier kann man aber etwas generalisieren: Es wird immer ein Puffer im Programm mit Wavedaten befüllt, und dieser dann an den Soundtreiber gereicht. Für den letzten Schritt hat man nun wieder mehrere Möglichkeiten. (ASIO, Direct Sound, SndPlay, etc.). Hier kommt es dann auf den jeweiligen Einsatzzweck an, was geeigneter ist.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
BrightAngel

Registriert seit: 13. Mär 2007
130 Beiträge
 
#6

Re: Video/Audio Files/Spurenaufbau etc. -Thema: Grundlagen

  Alt 19. Jun 2008, 22:40
Hey!
Danke vielmals! Das sind schon einmal ganz schöne neue Bauklötze mit denen Ich spielen lernen werde.
Es ist zwar noch nicht, das was ich mir vorstellte (es stimmt ich bin wirklich etwas zu allgemein)
Daher werde ich erstmal im groben versuchen zu Verstehen, was DirectShow macht und wie es arbeitet.

@Medium: Da ich zu allgemein bin, werde ich konkretisieren: Mir schwebt eigentlich nur eine kleine schnucklige Unit vor, die nicht groß und so umfassend ist, die vlt. einen Teil oder vlt. eine komplett unabhängig von anderen Komponenten, Units und libraries bildet. So erhoffe ich zu verstehen, wie ich soetwas umsetzen muss/kann.
Ich unterlag der Illusion, dass es so einfach sei wie z.B. ein csv, oder bitmap-file zu schreiben. ich muss also erkennen: dem ist nicht so.
Daher würde es mich freuen, wenn ihr mir weiterhelfen könntet?!?

Danke wie immer schonmal im Vorraus,
Brighty

P.S. Lasst Euch ruhig Zeit, ich habe ja noch Lesestoff^^
Do you have the email of god??? --- I have to tell him that I'm happy to be born!
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Video/Audio Files/Spurenaufbau etc. -Thema: Grundlagen

  Alt 19. Jun 2008, 22:50
Naja, das reine Schreiben/Lesen ist im Grunde fast so simpel wie eine Textdatei - die meisten Formate sind ja durch Chunks/Subheader usw. organisiert. Der eigentlich aufwendige Teil ist es, die gelesenen Daten so zu interpretieren, dass man am Ende auch wieder das Bild / den Ton hat, der es mal war (und umgekehrt natürlich auch).

Eine völlig native kleine Delphi-Lib wie sie dir vorschwebt wäre natürlich sehr genial! Um aber alle dafür nötigen Verfahren a) zu lernen und b) effizient zu implementieren... Ich fürchte, da hast du dir ein paar Mannjahre vorgenommen (Wenn du wirklich alles mögliche was aktuell in Verwendung ist unterstützen willst).

Allein schon MP3 Dekompression dürfte sich deutlich jenseits der 1000-Zeilen bewegen, wenn man bedenkt wie viele Optionen es dabei gibt, und was alles beachtet werden muss/kann. Und das dürfte noch zu den einfachsten Teilstücken einer solchen Lib gehören. Aber ich will dich nicht stoppen! Das wäre schon genial!
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
BrightAngel

Registriert seit: 13. Mär 2007
130 Beiträge
 
#8

Re: Video/Audio Files/Spurenaufbau etc. -Thema: Grundlagen

  Alt 19. Jun 2008, 23:24
^^ Ja das wäre schon schön!
Das Engagement ist schon vorhanden^^, jedoch mangelt es mir an Erfahrung auf dem Gebiet. Leider.
Und mir geht es ja auch nicht darum, um jeden Preis alle Formate abzudecken. Ich möchte ja (erstmal) nur die Grundlagen (siehe Titel) erlernen. Und gerade das aufgeblasene, große, alleskönnende hilft leider nicht beim Einstieg in die Materie...

Ich konkretisiere. Ich such mir jetzt was aus. Willkürlich. Das MPEG1-Format. Gibt es da einen Quelloffenen Interpreter? Wenn nein, dann stellt sich mir die Frage: Wie soll ich es sonst erlernen? Bringt das was es zu erlernen? Ja schon! (meine Meinung)
Ich mag es sehrt zu wissen, was meine Programme tun, wenn ich z.B. eine Blackbox namens SaveToFile aufrufe.
Das muss im Allgemeinen nicht konkret sein.
Aber ein, zwei Formate würde ich gerne selbst schreiben. Daher: Zurück zu den Anfängen.
So ich hoffe, dass ich mich jetzt klar ausgedrückt habe?

Gruß und Dank für Alles,
Brighty

P.S. Du bringst mich auf eine Idee: könnte man nicht vlt. eine Art Spaßproject starten, bei dem Diejenigen die Interesse daran haben, ein eigenes Fileformat entwerfen, das z.B. auf dem Wissen Einzelner aufbaut? z.B. Einer kennt die Schwäche von mpg, der Andere hat eine Bahnbrechende Idee zur Datenkompression, usw.
Vlt. kommt ja ein Ergebnis dabei heraus, über das man auch außerhalb der Delphipraxis spircht???
Also quasi: Nicht Ein Dateiformat - Das Dateiformat schlechthin! Ein einfaches und doch zugleich gutes Format, das offen, und daher von Allem unterstützt wird. (Ich red da jetzt so einfach und habe keine Ahnung, aber ist ja nur ein Vorschlag...eine Endung habe ich schon: *.dpx) ^^
Was halt die Welt davon?
Do you have the email of god??? --- I have to tell him that I'm happy to be born!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 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