AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte LibVLC - VLC in Delphi nutzen
Thema durchsuchen
Ansicht
Themen-Optionen

LibVLC - VLC in Delphi nutzen

Ein Thema von chaosben · begonnen am 2. Mai 2010 · letzter Beitrag vom 2. Okt 2019
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von chaosben
chaosben
Registriert seit: 27. Apr 2005
Hier (SVN) gibts ein aktuelles (VLC 1.0.5) Delphi-Binding für die VLC-Bibliothek LibVLC.dll. Außer den mediacontrol_* Funktionen, ist alles (hoffentlich zukunftstauglich) implementiert.
Im Repository gibts ein Beispiel für einen ganz einfachen Video-Player auf VLC-Basis.

Um das Beispiel (und eigene Programme) zum Laufen zu bringen, muss man sich nur doch die Datei libvlc.dll, libvlccore.dll sowie die Ordner plugins und locale von einer VLC-Installation oder aus dem VLC-Zip neben die .exe kopieren.

Für weitergehende Studien empfiehlt es sich, sich die Sourcen des VLC herunter zu laden und sich die Kommentare in den Header-Dateien unter "include/vlc/*.h" an zu sehen.

Viel Spass.

//edit: Falls jemand Probleme mit der Unit hat, packe er einfach eine Demo in den Anhang seiner Antwort in diesem Thread. (Was für ein Satz )

@mkinzler: Bitte ... gern geschehen.
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
 
kaka77
 
#21
  Alt 28. Apr 2011, 11:17
ja, ich denke auch sowas inn der art.


hab das hier noch gefunden:
http://gitorious.org/vmem-example/vm...MainWindow.cpp
das in delphi übersetzt würde mir "schon" reichen ...

kaka
  Mit Zitat antworten Zitat
perpe
 
#22
  Alt 31. Mai 2011, 01:21
@kaka77

Hallo,


hast du inzwischen eine Lösung gefunden? Wollte auch Datan aus einem TStream, über Pipes geht es zwar, finde es jedoch bissl eigenartig einen Pipe von meinem Prog zu meinem Prog zusenden. Der Player kann dann die Daten über die Adresse stream://\\.\pipe\pipename aufrufen und abspielen. Eine andere Lösung wäre mir jedoch lieber, wobei vmem bzw imem bei vlc wohl nicht so ausgereift sich und sich von Version zu Version ändern.

Edit: nutze jedoch eine paslibvlc um libvlc einzubinden und nicht die hier vorgestellte Komponente
  Mit Zitat antworten Zitat
daheld
 
#23
  Alt 2. Sep 2011, 19:04
Herzlichen Dank!

Könnte mir jmd von euch sagen, wie ich ein Mouseover-Event triggere?
Würde die Trackbar gern verstecken und nur bei Mausbewegungen und Tastaturanschlägen wieder anzeigen, Events des Panels funktionieren aber (wohl dank ActiveX) nicht und FLib scheint keine Events vorzusehen...

Danke euch!!!
  Mit Zitat antworten Zitat
rolwa
 
#24
  Alt 25. Mär 2013, 15:33
Hallo , der Beitrag ist zwar schon etwas älter, aber ich suche hierfür immer noch eine Lösung.

Ich habe Delphi 7.0 und würde gerne folgendes machen :

* Ansicht eines Videos (wmv ). Delphi Media Player tuts leider nicht.
* Möglichkeit auf gewisse Position des Videos zu springen.

Weshalb. Ich brauche eine Kontrollmöglichkeit für einen Video-Abschnitt. Ich habe die Zeit vom
Start und würde das video von dort anschauen. Also im Prinip habe ich eine Reihe von Mess-zeiten und genau nur dort will ich jeweils die Sequenz sehen.
Hierzu hätte ich gerne VLC genommen ( aus Delphi heraus ) aber das Beispiel tut bei mir leider nicht. Ich habe momentan VLC version 2.0.4 -- aber ob dies das Problem ist ?
Auf jeden FAll wird nichts angezeigt !
Eventuell wäre eine Gesamt lauffähiges ZIP Paket hilfreich um dann zu testen ob es überhaupt
sinnvoll ist diesen Weg zu verfolgen.
  Mit Zitat antworten Zitat
hathor
 
#25
  Alt 1. Mär 2015, 10:01
Neue Version 2.2.0 vom 2015-02-28

http://prog.olsztyn.pl/paslibvlc/

Natürlich braucht man auch die aktuellen DLLs von hier:
https://get.videolan.org/vlc/2.2.0/w....2.0-win32.exe

Im Anhang ist eine vereinfachte Demo zum Testen, ob man die richtigen
DLLs hat - Source und EXE.
Miniaturansicht angehängter Grafiken
paslib-1.jpg  
Angehängte Dateien
Dateityp: zip PASLIB-2.zip (125,3 KB, 126x aufgerufen)
Dateityp: zip PASLIBVCLDEMO.zip (914,6 KB, 148x aufgerufen)

Geändert von hathor ( 1. Mär 2015 um 12:35 Uhr)
  Mit Zitat antworten Zitat
hathor
 
#26
  Alt 1. Mär 2015, 21:05
Mit folgendem Code kann man feststellen, ob man die richtige Version von VLC installiert hat:

Delphi-Quellcode:
function VLC_GetLibPath: String;
var
  Handle:HKEY;
  RegType:integer;
  DataSize :integer;
  str1, str2, str3 : String;
begin
  Result := '';
  if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,'Software\Wow6432Node\VideoLAN\VLC',0,KEY_READ,Handle)=
      ERROR_SUCCESS) then begin

    if RegQueryValueEx(Handle,'InstallDir',nil,@RegType,nil,@DataSize)=ERROR_SUCCESS then begin
      SetLength(Result,Datasize div 2);
      RegQueryValueEx(Handle,'InstallDir',nil,@RegType,PByte(@Result[1]),@DataSize);
      Result[DataSize div 2]:='\';
      str1:= Result;
      end;

    if RegQueryValueEx(Handle,'Version',nil,@RegType,nil,@DataSize)=ERROR_SUCCESS then begin
      SetLength(Result,Datasize div 2);
      RegQueryValueEx(Handle,'Version',nil,@RegType,PByte(@Result[1]),@DataSize);
      Result[DataSize div 2]:=' '; // :='SPACE';
      str2:= Result;
      end;

    str3:= 'InstallDir: '+ str1 + ' - Version: '+ str2;
    Result:= str3;
    RegCloseKey(Handle);
  end;
end;

Geändert von hathor ( 1. Mär 2015 um 21:17 Uhr)
  Mit Zitat antworten Zitat
hathor
 
#27
  Alt 5. Mär 2015, 07:58
WIN8.1, XE7 32Bit.
Zur 64Bit-Version von VLC kann ich z.Zt. nichts schreiben
- habe nur 32Bit-Version installiert.

Fehler in der 32Bit-Version von VLC 2.2.0:
Bei der Lautstärke-Änderung der DELPHI-Demo tritt ein Fehler mit Programmabbruch auf:
System.EInvalidOp = Ungültige Gleitkomma-Operation

Ursache: libdirectsound_plugin.dll im Verzeichnis:
C:\Program Files (x86)\VideoLAN\VLC\plugins\audio_output
Ersatz: im Anhang.

TAG:
libvlc_audio_set_volume crashes libvlccore 2.2.0
ERROR 207
Ungültige Gleitkommaoperation
System.EInvalidOp
Angehängte Dateien
Dateityp: zip libdirectsound_plugin.zip (24,4 KB, 48x aufgerufen)

Geändert von hathor ( 5. Mär 2015 um 08:22 Uhr)
  Mit Zitat antworten Zitat
Wonderdoc
 
#28
  Alt 8. Apr 2015, 08:18
Für die float error message beim Aufruf des libvlc_audio_set_volume Befehls kann man auch ohne Änderung am VLC umgehen.
Einfach folgenen Code einfügen.
Code:
  //float crash when change Volume during playback since Version 2.1.x, crash ist only in direct audio
  //Set workaound for this
  SetExceptionMask([exInvalidOp, exDenormalized, exZeroDivide, exOverflow, exUnderflow, exPrecision]); //<= default c runtime fpu exception handling
Muß nur einmalig aufgerufen werden.
Danach läßt sich die Volume mittels libvlc_audio_set_volume auch bei VLC-Versionen ab 2.1.0 wieder problemlos ändern.
Man braucht keine dll mehr zu tauschen.

mfg
Wonderdoc
  Mit Zitat antworten Zitat
hathor
 
#29
  Alt 16. Apr 2015, 08:14
Danke für diesen Tipp!
Auch die Version 2.2.1 Terry Pratchett (Weatherwax) vom 13.04.2015
von hier: http://www.filehorse.com/download-vlc-32/download/
hat diesen Fehler, deshalb ist die Lösung "zukunftsfähig".
Man braucht die Unit Math.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
SetExceptionMask(exAllArithmeticExceptions);
...

Geändert von hathor (16. Apr 2015 um 08:34 Uhr)
  Mit Zitat antworten Zitat
johnmuller
 
#30
  Alt 30. Mär 2016, 10:07
Neue Version 2.2.0 vom 2015-02-28

http://prog.olsztyn.pl/paslibvlc/

Natürlich braucht man auch die aktuellen DLLs von hier:
https://get.videolan.org/vlc/2.2.0/w....2.0-win32.exe

Im Anhang ist eine vereinfachte Demo zum Testen, ob man die richtigen
DLLs hat - Source und EXE.
Vielen Dank, hat mir sehr geholfen.

Uli
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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:

(?)

LinkBack to this Thread

Erstellt von For Type Datum
Deutsches Lazarusforum &bull; Thema anzeigen - avi-Clip auf einem Panel abspielen This thread Refback 28. Jan 2011 06:29

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