![]() |
|
Video Oynatma Hakkında - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6) +--- Konu Başlığı: Video Oynatma Hakkında (/showthread.php?tid=8188) |
Video Oynatma Hakkında - adelphiforumz - 10-10-2025 Selamlar Bir formun üzerinde video oynatmak istiyorum. Amaç müşteri belirlenen bir klasöre atmış olduğu videoları 2. bir ekranda tanıtım amacı ile oynatılmasını istiyor. Özellikle müşterinin makinesine kurulum yapmak istemiyorum. VLC, Codec vb Olay başta çok basit gibi geldi fakat sonra format türleri işin içine girince ortalık karışmaya başladı. Bu konuda daha önceden tecrübesi olan arkadaşlar yardımcı olabilirler mi. MediaPlayer üzerinde denemeler yaptım fakat Codec sorunları yaşadım. Deneme amacı ile trial olan TVideoGrabber ile sorunsuz çalıştı fakat ücretli ve fiyatı çok yüksek ondan vazgeçtim. Ücretsiz olan bir tool öneriniz yada bir yol varmı Teşekkürler Video Oynatma Hakkında - emozgun - 12-10-2025 Merhaba TWebBrowser deneyebilirsiniz. Gemini "write a delphi pascal vcl code that plays video file in twebbrowser" örnek kodu veriyor Cvp: Video Oynatma Hakkında - adelphiforumz - 01-12-2025 Selamlar Konuyu tekrar gündeme getiricem kusura bakmayın Ek paketler yüklemeden Direkt Video oynatma işi yapan oldumu acaba Video Oynatma Hakkında - mrmarman - 02-12-2025 Videolar kullanıcılar tarafından bilinmeyen kaynaklı mı seçilecek yoksa size ait bir kütüphaneden mi sunulacak? Farkı ne derseniz, video format, codec, ses kanal sayısı, altyazı vs vs denetimi yapmaya gerek olacak mı? Video dosyaları (ders, illüstrasyon, müzik klibi, ağda video akışı) size ait ise media player veya vlc vb. ile kolay gösterim yapabilecek format/codec vs seçip tüm videoları buna dönüştürecek ffmpeg komutları belirler, ürünleri kütüphanenize eklerdiniz. Video Oynatma Hakkında - adelphiforumz - 02-12-2025 selamlar @mrmarman hocam uygulama içerisinde bir reklam amaçlı video oynatma penceresi mevcut. uygulama 1 dakika çalışmadığında reklam moduna geçiyor. Kullanıcının daha önceden belirlediği dizin içindeki mp4, mov, wmv, avi uzantılı dosyaları listeye alıp sırasıyla oynatmaya başlıyor. Klavye yada Mouse hareketini olunca uygulamaya tekrar geri donuyor Video Oynatma Hakkında - mrmarman - 13-12-2025 VLC kurulumu yapmadan sadece sisteminizde kurulu VLC'nin iki DLL dosyasını ve PLUGINS klasörünü alsanız, proje klasörüne sizin programınızın eki şeklinde kopyalasanız sizi kurtarır mı ? VLC dll'leri LGPL lisansı olduğundan araştırın ve teyit edin ancak bildiğim kadarıyla yanında adını kodunu değiştirmediğinizde serbest olarak biliyorum. bkz: https://www.videolan.org/legal.html Kod: What are the usage restrictions for VideoLAN software?İLAVE : ---------- Bilgisayar başına geçtim bir örnek (eski test projelerimden birinden devşirdim) Boş bir VCL proje açın bir Button br Panel koyun bu kadar aşağıdaki kodu uygulayın. Derlediğiniz EXE klasörüne aşağıdaki VLC DLL dosyalarını koyun : Kod: libvlccore.dllbir de bu DLL dosyaların aldığınız klasördeki plugins klasörünü olduğu gibi koyun. Sonra sistemde kurulu olan VLCPlayer uygulamasını UYGULAMALAR altında UNINSTALL ederek kaldırın ki kullanıcı yakasında kurulu değilken de çalışabildiğini canlı olarak test etmiş olun. Projeyi çalıştırın butona basıp bir tane video dosyası seçin. Sonuç sizi tatmin ediyorsa bu işlemi PasLibVLC paketiyle (eski bildiğiniz şekilde) yapabilirsiniz. Zaten o paketin bir kısmı kod örneğindeki DLL erişimini yapıyor diğeri de HELPER CLASS olarak Player oluşturuyor. const Flibvlc = 'libvlc.dll'; type Flibvlc_instance_t = Pointer; Flibvlc_media_t = Pointer; Flibvlc_media_player_t = Pointer; function libvlc_new(argc: Integer; argv: PPAnsiChar): Flibvlc_instance_t; cdecl; external Flibvlc; procedure libvlc_release(inst: Flibvlc_instance_t); cdecl; external Flibvlc; function libvlc_media_new_path(inst: Flibvlc_instance_t; path: PAnsiChar): Flibvlc_media_t; cdecl; external Flibvlc; procedure libvlc_media_release(media: Flibvlc_media_t); cdecl; external Flibvlc; function libvlc_media_player_new_from_media(media: Flibvlc_media_t): Flibvlc_media_player_t; cdecl; external Flibvlc; procedure libvlc_media_player_release(mp: Flibvlc_media_player_t); cdecl; external Flibvlc; procedure libvlc_media_player_set_hwnd(mp: Flibvlc_media_player_t; drawable: HWND); cdecl; external Flibvlc; procedure libvlc_media_player_play(mp: Flibvlc_media_player_t); cdecl; external Flibvlc; procedure libvlc_media_player_stop(mp: Flibvlc_media_player_t); cdecl; external Flibvlc; var FVLC : Flibvlc_instance_t; FMedia : Flibvlc_media_t; FPlayer : Flibvlc_media_player_t; procedure TForm1.BitBtn1Click(Sender: TObject); var LFileName: String; begin with TOpenDialog.Create(nil) do try if NOT Execute then exit; LFileName := FileName; if FPlayer <> nil then begin libvlc_media_player_stop(FPlayer); libvlc_media_player_release(FPlayer); FPlayer := nil; end; FMedia := libvlc_media_new_path(FVLC, PAnsiChar( AnsiString(LFileName) )); FPlayer := libvlc_media_player_new_from_media(FMedia); libvlc_media_player_set_hwnd(FPlayer, Panel1.Handle); libvlc_media_player_play(FPlayer); finally Free; end; end; procedure TForm1.FormCreate(Sender: TObject); begin ReportMemoryLeaksOnShutdown := TRUE; FVLC := libvlc_new(0, nil); FMedia := nil; FPlayer := nil; end; procedure TForm1.FormDestroy(Sender: TObject); begin if FPlayer <> nil then begin libvlc_media_player_stop(FPlayer); libvlc_media_player_release(FPlayer); end; if FMedia <> nil then libvlc_media_release(FMedia); if FVLC <> nil then libvlc_release(FVLC); end; Video Oynatma Hakkında - adelphiforumz - 16-12-2025 @mrmarman hocam ellerinize sağlık. fakat 400 e yakın dosya var bunların hepsini musteriye gondermek pek mümkün olmayacaktır. Video Oynatma Hakkında - mrmarman - 17-12-2025 tümünü olmasa da eleme yaparak çalıştıran kısımları filtrelersiniz. Plugin olarak web stream vs her şeyi kapsayan bir yapı vlc. Dediğim gibi format uyumu çözümü odaklı ve ücretsiz olan, ilave olarak video format konusunda minimal bilgiyle en uygun çözüm bu. |