You are not logged in.

  • Login

1

Tuesday, November 7th 2006, 12:37am

jpg php-upload in flv umwandeln und speichern

Hallo,

ich habe ein kleines Problem und suche nach tagelangen rumprobieren Hilfe.

Und zwar habe ich eine "upload.php" siehe unten, mit der kann ich Filme(mpg,wmv...etc.) hochladen und als flv konvertieren...

So, jetzt möchte ich aber auch Bildateien (z.B. jpg) in flv umkonvertieren und diese als Standbild mit dem flvplayer.swf ausgeben.

Es funktioniert einfach nicht :( Es kommt auch keine Fehlermeldung... Es müsste doch wenigstens das Bild hochladen, aber nichtmal das funktioniert.

Ich bin mit meinem Lateien am Ende.

Ich stelle mal die original Funktion zur Verfügung und darunter und darunter meine veränderte. Vielleicht es dann leichter den Fehler zu finden...

Vielen Dank für alle Helfer in Voraus!

Original Funktion:

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
if($_POST[upload_final]!="")
{
        if($_FILES['field_uploadfile']['tmp_name']=="") $err="Please provide the video location.";
        if($err=="" && $_FILES['field_uploadfile']['tmp_name']!="")
                {
                $p=$_FILES['field_uploadfile']['name'];
                $pos=strrpos($p,".");
                $ph=strtolower(substr($p,$pos+1,strlen($p)-$pos));
                /* Space in Megabytes (MB) */
                $space = round($_FILES['field_uploadfile']['size']/(1024*1024));
                if($config['enable_package']=="yes")
                {
                        check_subscriber($space);
                }
 
                if(($ph!="mpg" && $ph!="avi" && $ph!="mpeg" && $ph!="wmv" && $ph!="rm" && $ph!="dat") || $space>$config[max_video_size])
                $err="Invalid Video Format.";
                }
 
        if($err=="")
        {
                $sql="insert into video set
                        UID=$_SESSION[UID],
                        title='$_REQUEST[field_myvideo_title]',
                        description='$_REQUEST[field_myvideo_descr]',
                        keyword='$_REQUEST[field_myvideo_keywords]',
                        channel='0|$_REQUEST[listch]|0',
                        space = '$_REQUEST[space]',
                        addtime='".time()."',
                        adddate='".date("Y-m-d")."',
                        vkey='".mt_rand()."',
                        type='$_REQUEST[field_privacy]',
                        filehome='$_REQUEST[p]'";
                $conn->execute($sql);
                $vid=mysql_insert_id();
                $vdoname=$vid.".".$ph;
 
                    if(isset($_FILES['field_uploadfile']['tmp_name']) && is_uploaded_file($_FILES['field_uploadfile']['tmp_name']))
                    {
						$ff = $config[vdodir]."/".$vdoname;
						if(move_uploaded_file($_FILES['field_uploadfile']['tmp_name'], $ff))
						{	$mov = new ffmpeg_movie($ff);
							video_to_frame($ff,$vid,&$mov,$listch[0]);
							$duration=$mov->getDuration();
							exec("$config[ffmpeg] -i $config[vdodir]/$vdoname -acodec mp3 -ar 22050 -ab 32 -f flv $config[flvdodir]/".$vid.".flv");
						}
 
                    }



Meine veränderte Funktion:

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
if($_POST[upload_final]!="")
{
        if($_FILES['field_uploadfile']['tmp_name']=="") $err="Please provide the video location.";
 
        if($err=="" && $_FILES['field_uploadfile']['tmp_name']!="" && $_FILES['field_uploadfile']['type'] == "image/jpg")
                {
                $p=$_FILES['field_uploadfile']['name'];
                $pos=strrpos($p,".");
                $ph=strtolower(substr($p,$pos+1,strlen($p)-$pos));
                /* Space in Megabytes (MB) */
                $space = round($_FILES['field_uploadfile']['size']/(1024*1024));
                if($config['enable_package']=="yes")
                {
                        check_subscriber($space);
                }
 
                if(($ph!="mpg" && $ph!="avi" && $ph!="mpeg" && $ph!="wmv" && $ph!="rm" && $ph!="dat" && $ph!="jpg") || $space>$config[max_video_size])
                $err="Invalid Video Format.";
                }
 
        if($err=="")
        {
                $sql="insert into video set
                        UID=$_SESSION[UID],
                        title='$_REQUEST[field_myvideo_title]',
                        description='$_REQUEST[field_myvideo_descr]',
                        keyword='$_REQUEST[field_myvideo_keywords]',
                        channel='0|$_REQUEST[listch]|0',
                        space = '$_REQUEST[space]',
                        addtime='".time()."',
                        adddate='".date("Y-m-d")."',
                        vkey='".mt_rand()."',
                        type='$_REQUEST[field_privacy]',
                        filehome='$_REQUEST[p]'";
                $conn->execute($sql);
                $vid=mysql_insert_id();
                $vdoname=$vid.".".$ph;
 
                    if(isset($_FILES['field_uploadfile']['tmp_name']) && is_uploaded_file($_FILES['field_uploadfile']['tmp_name'] && is_uploaded_file($_FILES['field_uploadfile']['type'] == "image/jpg")))
                    {
                    Ming_setScale(1.0);
 
   				$s = new SWFShape();
   				$f = $s->addFill(new SWFBitmap($config[vdodir]."/".$vdoname));
   				$s->setRightFill($f);
 
   				$s->drawLine(640, 0);
   				$s->drawLine(0, 480);
   				$s->drawLine(-640, 0);
   				$s->drawLine(0, -480);
 
   				$m = new SWFMovie();
   				$m->setDimension(640, 480);
   				$m->add($s);
 
   				header('Content-type: application/x-shockwave-flash');
   				$m->save($config[vdodir]."/".$vdoname);
 
						$ff = $config[vdodir]."/".$vdoname;
						if(move_uploaded_file($_FILES['field_uploadfile']['tmp_name'], $ff))
						{
					        $mov = new ffmpeg_movie($ff);
							video_to_frame($ff,$vid,&$mov,$listch[0]);
							$duration=$mov->getDuration();
							exec("$config[ffmpeg] -i $config[vdodir]/$vdoname -acodec mp3 -ar 22050 -ab 32 -f flv $config[flvdodir]/".$vid.".flv");	
 
	}}

2

Tuesday, November 7th 2006, 2:38pm

hi

zeile 39 ist ganz falsch
sowohl falsche klammerung, als auch falscher parameter in der letzten abfrage

Source code

1
....  is_uploaded_file($_FILES['field_uploadfile']['tmp_name'] && is_uploaded_file($_FILES['field_uploadfile']['type'] == "image/jpg")))


gruß

3

Sunday, January 28th 2007, 6:45pm

hab mal ne frage wie wirt der gantze code angewenden suche schon lange sowas :cry:

4

Sunday, January 28th 2007, 7:07pm

man braucht einen server, die software ffmpeg und das binding ffmpeg-php.

der rest ist einfach:

PHP Quellcode

1
2
3
$mov = new ffmpeg_movie("pfad zur datei");
video_to_frame($ff,$vid,&$mov,$listch[0]);
$duration=$mov->getDuration();


am besten nachzulesen in der API:
http://ffmpeg-php.sourceforge.net/apidoc.php

Similar threads

Social bookmarks