avi-Clip auf einem Panel abspielen

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
Hektrion
Beiträge: 7
Registriert: Do 6. Jan 2011, 19:50

avi-Clip auf einem Panel abspielen

Beitrag von Hektrion »

Hallo an alle,

ich habe die Frage, wie ich in Lazarus z.B. auf einem Panel ein AVI-Clip o.Ä. abspielen kann,
was in Delphi, wie ich gehört habe, mit TMediaPlayer machbar ist.

Ich freue mich auf eure Antworten,

Viele Grüße

Hektrion

PS: Diese Frage findet sich einige Male in Google, jedoch unbeantwortet ...
Z.B. http://www.gutefrage.net/frage/wie-kann-man-in-lazarus-free-pascal-eine-auf-dem-computer-gespeicherte-animation-abspielen

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: avi-Clip auf einem Panel abspielen

Beitrag von af0815 »

Vielleicht hier eine Spur:
VLC Media Player bedienen
Multimediawiedergabe z.B. über VLC
Geht das in die gesuchte Richtung ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
didi
Beiträge: 46
Registriert: Mo 10. Mai 2010, 20:43
OS, Lazarus, FPC: Linux / Windows
CPU-Target: AMD 64-Bit
Wohnort: Plauen im Vogtland
Kontaktdaten:

Re: avi-Clip auf einem Panel abspielen

Beitrag von didi »

Moin,

unter Linux-Pardus habe ich das Problem mit dem vorinstallierten Programm "sox" gelöst.

AProcess := TProcess.Create(nil); // Musik laden
AProcess.CommandLine := 'konsole --background-mode -e /usr/bin/play '+InstallationsPfad+'ParGruMusik.mp3';
AProcess.Execute; // eigentlicher Aufruf
AProcess.Free;


Falls Du Interesse an dem gesamten QuellCode hast, einfach noch mal melden!

Gruß didi ><>

shokwave
Beiträge: 470
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
CPU-Target: i386, x64
Wohnort: Gera

Re: avi-Clip auf einem Panel abspielen

Beitrag von shokwave »

Also ich hatte mal das hier http://wiki.lazarus.freepascal.org/Multimedia_Programming#MPlayer_for_Linux_gtk2.2FX probiert. Das lief nach 'ner kleinen Änderung in den uses ("GTKProc, GtkDef;" -->"GTK2Proc, Gtk2Def;") problemlos. Ein Beispiel ist auch dabei.
mfg Ingo

Hektrion
Beiträge: 7
Registriert: Do 6. Jan 2011, 19:50

Re: avi-Clip auf einem Panel abspielen

Beitrag von Hektrion »

Edit:
OK, ich habe jetzt den Weg genommen, den mir shokwave vorgeschlagen hat.
Leider tritt dort eine Fehlermeldung auf, die mir mitteilt, dass er angeblich den Identifier "PathToPlayer"
nicht finden könnte, obwohl ich alle die im Tutorial als zu gebrauchende uses angegeben habe.
Hätte da irgendjemand irgendeinen Ratschlag?

Viele Grüße

Hektrion




_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Hallo together,

@af0815: Ja, das probiere ich geich aus und melde mich dann.
@didi: Spielt es nicht nur Musik ab? Kann man mit dem Befehl "sox"
auch Clips wiedergeben, also z.B. avi-Dateien?
@shokwave: Auch das nehme ich gleich unter die nähere Lupe.

Vielen Dank an eure zahlreichen Ideen und ich hoffe, das hilft nicht nur mir,
sondern auch anderen, die dasselbe Problem haben, da ich sehe, dass ich
nicht der einzige bin, der sich hier damit beschäftigt ...

Viele Grüße

Hektrion
Zuletzt geändert von Hektrion am Di 27. Dez 2011, 04:45, insgesamt 1-mal geändert.

Benutzeravatar
didi
Beiträge: 46
Registriert: Mo 10. Mai 2010, 20:43
OS, Lazarus, FPC: Linux / Windows
CPU-Target: AMD 64-Bit
Wohnort: Plauen im Vogtland
Kontaktdaten:

Re: avi-Clip auf einem Panel abspielen

Beitrag von didi »

"sox" konnte eine avi-Datei nicht abspielen aber ein Ausweg wäre vlc. Das hat auf Anhieb funktioniert:

didi@Lintop ~ $ vlc /home/didi/Desktop/Programme-Lazarus/PaCo/Konvert-Datei/Avatar/avatar_a.avi

Gruß didi ><>

Hektrion
Beiträge: 7
Registriert: Do 6. Jan 2011, 19:50

Re: avi-Clip auf einem Panel abspielen

Beitrag von Hektrion »

Hallo,

ich habe mich entschieden, das Programm auf Windows zu schreiben
und daher hätte ich die Frage, ob sich jemand vielleicht mit SDL auskennt
und mir ein nettes Tutorial, egal ob Deutsch oder Englisch, vorschlagen könnte,
das jedoch erklärt, wie man die Header-Files in Pascal benutzt und mein Problem
mit dem Abspielen eines Videos zu lösen versucht ...

Viele Grüße

Hektrion

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: avi-Clip auf einem Panel abspielen

Beitrag von carli »

Hektrion hat geschrieben:und daher hätte ich die Frage, ob sich jemand vielleicht mit SDL auskennt

Google hilft dir.
Und SDL ist extrem simpel aufgebaut.

@Topic: der "mencoder" dürfte etwas sein, das dich interessieren sollte.
Der mencoder kann Videodateien aller Art einlesen und gibt in der StdOut die fertigen Pixeldaten aus, die du direkt in den SDL zaubern kannst. (einfach den mencoder mit dem Video starten und die StdOut-Pipe auslesen)

Hektrion
Beiträge: 7
Registriert: Do 6. Jan 2011, 19:50

Re: avi-Clip auf einem Panel abspielen

Beitrag von Hektrion »

Danke für deine Idee!

Ich habe zwar auf der Seite http://www.freepascal-meets-sdl.net/ gleich
mehrere sehr gute Tutorials gefunden (ich finde dort eigtl alle sehr gut) und bin schon sehr weit,
da SDL wirklich einfach nur einfach ist, aber zum Thema Video-Einbinden steht da nichts drin ...
Ist es dann auch so ähnlich wie das Einbinden und Ausgeben von einem einzelnen Bild wie aus
Tutorial 2 und 3 oder wie muss ich das in Pascal handhaben?

Viele Grüße

Hektrion

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: avi-Clip auf einem Panel abspielen

Beitrag von carli »

Für das Video-Einbinden kann ich dir noch ein paar Google-Stichworte geben:

"ffmpeg", "mencoder rgb rawvideo"

Boris
Beiträge: 18
Registriert: Mo 1. Okt 2007, 21:57
OS, Lazarus, FPC: Linux: KDE Neon, Sparky - akt. Lazarus stable, FPC 3.0.2
CPU-Target: 32/64Bit
Wohnort: Rommerskirchen, NRW

Re: avi-Clip auf einem Panel abspielen

Beitrag von Boris »

Ich habe mal was gebastelt auf der Grundlage des Threads von hier: http://www.delphipraxis.net/150992-libvlc-vlc-delphi-nutzen-2.html

Unter /examples/bbPlayer findet sich die an Lazarus angepasste Version die Version der LibVLC, die mit der Grundunit funktioniert, war die 1.0.6
von hier: http://download.videolan.org/pub/videolan/vlc/1.0.6/

EIne neuere Version der Lib funktioniert mit der SVN-Version der Unit bisher leider (noch) nicht...

Vielleicht hilft der "Schubser" dem Threadersteller bei seinem Problem. Da ich an dem Quelltext nichts groß verändert habe, stelle ich den ebenfalls unter die "Machtwasihrwollabermachtunsnichtverantwortlich"-Lizenz (siehe ulibVLC.pas) :wink:

Viele Grüße

Boris
Dateianhänge
LibVLC.zip
(498.44 KiB) 141-mal heruntergeladen

Antworten