Yow gozers,

Ik heb een vraagje, hoe werkt youtube?

daarmee bedoel ik:
- waar slaat ie alle bestanden op
- hoe verandert ie van .avi oid. in .swf? (volgens mij had ie .flv)
miss wil ik ook zo'n kleine youtube in eigen versie maken, maar dan moet ik ongeveer weten hoe het werkt.

en wat als nou iedereen met bestanden komen die meer dan 50 is?
moet ik ze dan afwijzen? of moet ik het bestand comprimeren?

Eerlijk gezegd weet ik helemaal niet hoe dat systeem van hun werkt.
Het licht niet alleen aan de extensie ".avi" maar ook welke codec het bevat.. xvix, h264 ehmmm na ja dan praat je over afstammeling van mpeg, mpeg-4 enz enz.. daar gaat het eigenlijk om en niet alleen maar om te extensie van het bestand dus..
aha,

waar worden ze opgeslagen in een server map of in de mysql?
Ik gok in beide, bestand op de server en de verwijzing naar de locatie in de database (alleen of dat MySQL is...)
ik heb een youtube kloon gevonden,


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");
						}
                       
                    }
                //END

                $key=substr(md5($vid),11,20);
                $sql="update video set
                        vdoname='$vdoname',
                        flvdoname='".$vid.".flv',
                        duration='$duration',
                        vkey='$key' WHERE VID=$vid";
                $conn->execute($sql);
        
                if($config['enable_package']=="yes")
                {
                        $sql = "update subscriber set used_space=used_space+$space, used_bw=used_bw+$space, total_video=total_video+1 where UID=$_SESSION[UID]";
                        $conn->execute($sql);
                }
        
                header("Location:$config[baseurl]/upload_success.php?viewkey=$key&upload=yes&vid=$vid");
        }
}



Dit scriptje alleen de extensie in .flv veranderen

                $key=substr(md5($vid),11,20);
                $sql="update video set
                        vdoname='$vdoname',
                        flvdoname='".$vid.".flv',
                        duration='$duration',
                        vkey='$key' WHERE VID=$vid";
                $conn->execute($sql);


maar ik zie nergens dat ie het comprimeert.

het heeft ook een beveileging
                $space = round($_FILES['field_uploadfile']['size']/(1024*1024));

1024 * 1024 was volgens mij 1 mb?
Hey als je site af is zet je dan wel ff je url neer want wil dan wel je sitre zien!!
Googleën vinden sommige mensen moeilijk, is het niet?

Reageren