Accueil > Forum > > > > Capture des frames d'un TMediaPlayer
Capture des frames d'un TMediaPlayer
lundi 5 janvier 2009 à 17:24:23 |
Capture des frames d'un TMediaPlayer

blueperfect
|
Quelqu'un sait-il comment capturer en TBitmap chaque frame d'un TMediaPlayer, sans les afficher ?
|
|
mercredi 14 janvier 2009 à 00:21:54 |
Re : Capture des frames d'un TMediaPlayer

Nicolas___
|
Réponse acceptée !
Hep, est tu obligé d'utiliser le TMauvaisMediaPlayer ?
J'ai fait un prog pour réaliser ca (mais pas avec TMediaPlayer) , Capture de la Frame jouée et Capture de toutes les frames (Interval à choisir : ex : toutes les secondes , minutes , dixième de secondes ... )
Si tu es encore intérréssé je posterais cette source ...
Nico
|
|
mercredi 14 janvier 2009 à 03:58:08 |
Re : Capture des frames d'un TMediaPlayer

blueperfect
|
Oh que oui que ça m'interresse....
Si tu as besoin d'un truc...dis toujours... :-)
|
|
mercredi 14 janvier 2009 à 10:12:30 |
Re : Capture des frames d'un TMediaPlayer

Nicolas___
|
Réponse acceptée !
Ok, ben je refais un peu l'indentation et je vérifie la source pour avoir une belle syntaxe et j'envoie ça sur DelphiFR ce soir ... PS : pour certains formats, ça ne passe pas (les Flv foire , les XVids aussi je pense et les mp4) PS2: pour chaquue format à decoder , tu dois avoir les codecs sur ton pc (Et oui, c'est pas un VLC inside  ) Nico
|
|
mercredi 14 janvier 2009 à 18:24:51 |
Re : Capture des frames d'un TMediaPlayer

blueperfect
|
J'ai développé une TPaintBox qui me permets d'afficher des TBitmaps recto/verso en 3D, et je veux le coupler avec un lecteur de video....
Je les convertirais en WMV ou AVI s'il le faut...
|
|
mercredi 14 janvier 2009 à 18:42:48 |
Re : Capture des frames d'un TMediaPlayer

Nicolas___
|
Hep : http://www.delphifr.com/codes/BASSVIDEO-LECTEUR-VIDEO-AVEC-BASS_48975.aspx
Voila, tout beau , tout frais :)
|
|
mercredi 14 janvier 2009 à 20:46:18 |
Re : Capture des frames d'un TMediaPlayer

blueperfect
|
Ton exe fonctionne, mais pas le mien !
héhé
je te poste la source du DFM et du PAS, si tu peux me dire le problème...
Tu choisis une video, il capture la premiere frame...
|
|
mercredi 14 janvier 2009 à 20:46:44 |
Re : Capture des frames d'un TMediaPlayer

blueperfect
|
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, FileCtrl, StdCtrls;
type
TForm1 = class(TForm)
DriveComboBox1: TDriveComboBox;
DirectoryListBox1: TDirectoryListBox;
FileListBox1: TFileListBox;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FileListBox1DblClick(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses Bass,BassVideo;
procedure TForm1.FormCreate(Sender: TObject);
begin
if not Bass_Init(-1, 44100, 0, 0, nil) then
begin
MessageBox(handle,'gg','Error',MB_OK);
halt;
end;
if not BASSVideo_Init then halt;
BassVideo_SetConfig(BassVideo_Default, 1);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
BASSVideo_Free;
BASS_Free;
end;
var
Chan : DWORD;
function MyVideoStream(Handle : DWORD; Action, param1, param2 : DWORD; user : Pointer): BOOL; stdcall;
var
ClientRect : TRect;
begin
result := TRUE;
case Action of
BassVideo_FoundVideo :
begin
// on chope la zone d'affichage
ClientRect:=form1.ClientRect;
BASSVideo_SetVideoWindow(Handle, form1.Handle,ClientRect, 0);
end;
BassVideo_EndStream :
begin
BassVideo_StreamFree(chan);
// a la fin de la video, voir la progression n'a plus grande importance, on stope le Timer
end;
BassVideo_OpenDone :
begin
//Ouverture Réussie
end;
BassVideo_DShow_Event :
begin
end;
end;
end;
procedure TForm1.FileListBox1DblClick(Sender: TObject);
var
Heure : integer;
Minute : integer;
Seconde : integer;
Length : Double;
pos : double;
s:widestring;
begin
s:= 'C:\Documents and Settings\David HAROUCHE\Bureau\Pagecapt.bmp';
Chan := BassVideo_StreamCreateFile( PChar(self.FileListBox1.FileName),
BASSVIDEO_VIDEOEFFECT ,
0,
@MyVideoStream,
nil
);
BASSVideo_SetPosition(Chan,0);
BassVideo_Pause(chan);
BassVideo_FrameStep(chan);
Length := BASSVideo_GetLength(Chan);
// on calcule le nb H,M,S % à Round(Length) qi donne le temps en seconde...
Heure:=Round(Length)div 3600;
Minute := Round(Length - (Heure*3600)) div 60;
Seconde := Round(Length - (Heure*3600) - (Minute*60));
self.Caption := Format('%d Heure %d minutes %d secondes',[Heure,Minute,Seconde]);
pos := BassVideo_GetPosition(Chan);//+ precis que progressDuree.Position
// On met à jour la barre de progression toutes les 25 secondes de vidéo
// capturée ...
if(Round(pos) mod 25 = 0) then Application.ProcessMessages;
BassVideo.BassVideo_CaptureBitmap(PWideChar(self.FileListBox1.FileName), pos, PWideChar(s), BASS_UNICODE);
BassVideo_StreamFree(Chan);
end;
end.
|
|
mercredi 14 janvier 2009 à 20:47:08 |
Re : Capture des frames d'un TMediaPlayer

blueperfect
|
object Form1: TForm1
Left = 191
Top = 149
Width = 391
Height = 238
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
OnDestroy = FormDestroy
PixelsPerInch = 96
TextHeight = 13
object DriveComboBox1: TDriveComboBox
Left = 40
Top = 24
Width = 145
Height = 19
DirList = DirectoryListBox1
TabOrder = 0
end
object DirectoryListBox1: TDirectoryListBox
Left = 40
Top = 56
Width = 145
Height = 97
FileList = FileListBox1
ItemHeight = 16
TabOrder = 1
end
object FileListBox1: TFileListBox
Left = 192
Top = 56
Width = 145
Height = 97
ItemHeight = 13
TabOrder = 2
OnDblClick = FileListBox1DblClick
end
end
|
|
jeudi 15 janvier 2009 à 00:41:30 |
Re : Capture des frames d'un TMediaPlayer

blueperfect
|
J'ai trouvé ! BassVideo.BassVideo_CaptureBitmap(PWideChar(self.FileListBox1.FileName), pos, PWideChar(s), BASS_UNICODE); devient var filename:widestring; filename := self.FileListBox1.FileName; BassVideo.BassVideo_CaptureBitmap(PWideChar(filename), pos, PWideChar(s), BASS_UNICODE); blueperfect
|
|
Cette discussion est classée dans : capture, frames, tmediaplayer
Répondre à ce message
Sujets en rapport avec ce message
capture d'ecran et format d'image [ par neodelphi ]
Voila :J'ai un truc qui fait une capture d'ecran et je l'affiche dans un TImage. Ensuite je crée un autre image et je fait un Canvas.Copy...Comme ça j
Capture de port LPT [ par Amadeus ]
Quelqu'un connait-il un logiciel permettant de capturer les données envoyé vers une imprimante.Ou des composant delphi qui le permette
DelphiX: transparence et optimisation [ par Vin-s ]
Salut à tous,Le problème est des plus simple.La fonction directX de dessin par transparences: Drawalphaest tres, tres lentes... les Frames Par Seconde
CAPTURE D'ECRAN [ par MasterNKZ ]
Salut a tous!Comment réaliser une capture d'écran et l'enregistrer sous le format désiré dans un répertoire désigné??J'attend vos réponses svp!!!ciao
Répondez SVP : Capture d'écran [ par MasterNKZ ]
Je relance mon message:Commnt faire pour réaliser une capture d'écran et enregistrer l'image au format voulu dans le dossier voulu.Voila aidez moi svp
Question sur le TMediaPlayer [ par costello ]
J'ai un léger problème avec le composant TMediaPlayer.Il ne peut charger qu'un seul fichier à la fois; or je voudrais qu'il lise tous les fichiers d'u
capture d'ecran [ par ak47 ]
salut a tous!Ma question va surement paraitre stupide parcequ'elle n'a pas vraiment rapport à la programation, mais je voudrait savoir avec quel logic
Probleme avec la capture de la souris [ par tigroublb ]
Salut tout le monde.En fait j'essaie d'utiliser la fonction MouseProc (apres avoir défini le hook bien sur), mais je suis incapable d'accéder à la po
capture d'écran de la fenetre active [ par etrix ]
salut,voilà j'ai deja bcp chercher mais j'ai rien trouver pour faire une capture d'ecran de la fenetre active en delphi.j'espere vraiment que qqun sai
capture d'ecran > Dans Timage [ par etrix ]
salut,voila j'ai fait capture d'ecran grace a une simulation de touches, mais ensuite je sais pas comment faire pour mettre la capture dans une Timage
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|