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
[ASTUCE] PATCH POUR MICROSOFT FORUMS NNTP BRIDGE V1[ASTUCE] PATCH POUR MICROSOFT FORUMS NNTP BRIDGE V1 par pierre
Si vous avez téléchargé comme moi Microsoft Forums NNTP Bridge V1 avant le 11 mars 2010 (voir [Astuce] Disponibilité de Microsoft Forum NNTP Bridge Version 1.0), un problème de date localisée pour les non anglais était présent. Un patch est disponibl...
Cliquez pour lire la suite de l'article par pierre PB LORS DE L'INSTALLATION SHAREPOINT 2010.PB LORS DE L'INSTALLATION SHAREPOINT 2010. par Patrick Guimonet
Lors de l'installation de SharePoint 2010, j'ai rencontré un problème de plantage à l'étape 5 du configuration Wizard. Ca se termine sur cet écran : Et en analysant le fichier de journalisation, on remarque vers la fin des 15000 et quelques lign...
Cliquez pour lire la suite de l'article par Patrick Guimonet [WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (2/2)[WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (2/2) par JeremyJeanson
Après mon précédent article qui attaque les contraintes par la fasse Nord de l'Everest. passons à la seconde possibilité offerte par WF4 pour valider une activité : la metadata . Je vous en ai déjà toucher un ou deux mots. La metadata dans WF4 est un élém...
Cliquez pour lire la suite de l'article par JeremyJeanson [WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (1/2)[WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (1/2) par JeremyJeanson
De WF3 à WF4 pas mal de choses on été changées pour faciliter la vie des développeurs, mais certain points peuvent sembler obscures. comme les contraintes. Pour vous guider, je me lance dans une série de deux articles. Ils présenterons deux approches poss...
Cliquez pour lire la suite de l'article par JeremyJeanson [ASP.NET] NE PAS SE FAIRE AVOIR PAR IHTTPMODULE ET SA MéTHODE INIT()[ASP.NET] NE PAS SE FAIRE AVOIR PAR IHTTPMODULE ET SA MéTHODE INIT() par tja
Beaucoup de développeurs pensent que lorsqu'on créé et enregistre un IHttpModule, il n'en existe qu'une seule instance et la méthode Init() sera appelée qu'une fois.
C'est faux
Cela peut vraiment créer des bugs subtils dont en ne se rend pas compte ...
Cliquez pour lire la suite de l'article par tja
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|