Créer une image à partir d'un flv
#1
Posté 28 May 2007 - 09:43 AM
Voilà g un petit problème. J'utilise RED5 pour capturer ma webcam et j'enregistre cette capture sur mon disque. Apres j'ai soit la possibilité de supprimer la vidéo soit de la sauvegarder. J'aimerais que lorsque je clic sur sauvegarder ça me génére une image de la video que je viens d'enregistrer.
#4
Posté 28 May 2007 - 10:34 AM
voici un exemple de mon cru :
http://jeanphiblog.m...camera-snapshot
#6
Posté 28 May 2007 - 01:36 PM
this.createEmptyMovieClip("img",2);
img.attachBitmap(bitmap, 20, "auto", true);
img._x = 40;
img._y = 9.1;
save_btn.onRelease = function(){
//code à écrire
bitmap.draw(cam_video);
}
#7
Posté 28 May 2007 - 01:51 PM
bitmap.draw(video_preview.seek(0));
}
Par contre ce que j'aimerais maintenant c'est enregistrer cette image sur le serveur linux qui contient mes videos.
#8
Posté 31 May 2007 - 09:34 AM
this.createEmptyMovieClip("img",2);
img.attachBitmap(bitmap, 20, "auto", true);
img._x = 40;
img._y = 9.1;
save_btn.onRelease = function(){
bitmap.draw(cam_video);
lv = new LoadVars();
lv.tab = new Array();
for (i=0; i<120; i++) {
for (j=0; j<160; j++) {
lv.tab.push(bitmap.getPixel(j, i));
}
}
//trace(lv.tab);
lv.send("generejpg.php", "_blank", "POST");
}//Fin fonction save_btn
De plus je n'arrive pas à créer une image en 320x240. Si je mets des valeurs inférieur à 160x120 ça marche mais 320x240 non.
Aidez-moi j'en peu plus !
#10
Posté 31 May 2007 - 01:15 PM
#11
Posté 31 May 2007 - 01:43 PM
var bitmap = new flash.display.BitmapData(160,120);
Mais le problème c que le bitmap n'est pas transparent et que le bitmap.draw ne doit pas se faire parce que les valeurs dans mon tableau sont les mêmes (quand j'exécute dans php mais dans flash c nikel, c un truc de fou là je craque !) et ça me donne une image blanche.
Sinon quand je fais un trace de bitmap.draw dans flash ça me retourne 0 alors que dans php ça me retourne -5 !
#13
Posté 31 May 2007 - 02:13 PM
Par contre comment faire pour cacher justement le bitmap.draw. Je ne veux pas que l'image soit visible par l'utilisateur.
#14
Posté 31 May 2007 - 03:05 PM
#15
Posté 31 May 2007 - 04:24 PM
#18
Posté 29 October 2007 - 05:18 PM
0 ca marche
-5 pas possible de faire un draw, j ai essayé une methode differente , mais rien n'y fait
au secours, à l'aide
#19
Posté 08 December 2008 - 11:50 AM
J'ai modifier le code pour que je puisse récupérer une image d'une vidéo flv dans le but de créer une webTV.
En ligne le snapshot marche parfaitement pour des vidéos qui sont sur le même ftp que la webTV.
Mais dès que je veux snapshoter une vidéo qui ce trouve sur un autre ftp (qui m'appartient de même) et bien cela ne marche pas
Ya t-il des droits? Ou comment faire? Car le snapshot est réalisé sur un clip, donc je ne vois pas pourquoi ça ne fonctionne pas dans ce cas...
Merci à vous
Absinthebolik Myspace
Baby Killer - Death Feast 2009!
#20
Posté 12 January 2009 - 11:14 AM
0 ca marche
-5 pas possible de faire un draw, j ai essayé une methode differente , mais rien n'y fait
au secours, à l'aide
Normalement il faut que tu assignes les droits nécessaires par un fichier crossdomain.xml sur le serveur qui contient ta vidéo.
J'ai eu pas mal de problème avec ça et parfois ça ne marche pas même avec les bon droits.
Une astuce consiste à passer en variable la position de lecture de ta vidéo à un script php qui appel ffmpeg en ligne de commande et qui lui va te créer ta vignette. C'est un peu bourrin mais ça marche nickel à toute les résolutions
Action Script
function returnDuree($duree){
$duree=round($duree);
if(round($duree)<60){
$aff="00:00:".round($duree);
return $aff;
}else{
$nbMin=round($duree/60);
if($nbMin*60>$duree){
$nbMin=$nbMin-1;
}
if($nbMin<10){
$affMin="0".$nbMin;
}else{
$affMin=$nbMin;
}
$nbSec=round($duree-($nbMin*60));
if($nbSec<10){
$affSec="0".($duree-($nbMin*60));
}else{
$affSec=$duree-(nbMin*60);
}
$aff="00:".$affMin.":".$affSec;
return $aff;
}
}
$pos_video=$_POST['pos_video'];
if($pos_video==""){
$pos_video="00:00:06";
}else{
$pos_video=returnDuree($pos_video);
}
$ffmpeg_cli2 = "ffmpeg -i emplacment_serveur/mes_videos/".$_POST['fichier']." -f mjpeg -ss ".$pos_video." -vframes 1 -s 280x210 emplacment_serveur/mes_vignettes/".$vignette;
passthru($ffmpeg_cli2,$res2);


Connexion
Inscription
Citer

