qualitum logo
Konvertera uppladdade filmer till FLV samt ta screenshot

PHPportalen Forum Index » Tips och Trix
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget Gå till sida 1, 2, 3, 4, 5, 6  Nästa
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
Nicklas



Medlem i: 2795 dagar
Från: Fablernas Värld
Status: Offline



#446381
Inlägg Skrivet: 2006-12-27 02:32      Ämne: Konvertera uppladdade filmer till FLV samt ta screenshot Citera

Hade inget för mig så jag slängde ihop en enkel funktion som konverterar uppladdade filmer till t.ex FLV eller annat angivet format.

För att kunna konvertera, se till att du har ffmpeg installerat på din server. Senaste versionen av ffmpeg kan hämtas hem här:
http://ffdshow.faireal.net/mirror/ffmpeg/

Se också till att du har gett din server tillåtelse att starta utomstående program:
http://www.phpportalen.net/viewtopic.php?p=317514#317514


Packa upp filerna med t.ex winrar, skapa en mapp någonstans på din hårddisk och för över filerna till den skapade mappen. Ex: c:/ffmpeg


Efter att filmen har laddats upp till servern, anropas funktionen enligt följande:
PHP:
1:
 $path 'sökväg/till/filmen.avi'         // sökväg till destinations-filen
2:
$type 'flv';         // format att konvertera till
3:
$ffmpeg 'c:/ffmpeg';   // Sökväg till mappen där ffmpeg ligger
4:
$q 10;            // Kvalité på konverteringen (0=bäst, 31=sämst)
5:
$w 320;            // Bredd i px
6:
$h 240;            // Höjd i px
7:
$b 96;            // Kvalite på ljudet: 96 kb/s
8:
$c 1;               // Kanaler (1=mono, 2=stereo)
9:
$s true;            // Ta screenshot? (boolean)
10:
$t 3;               // hur många sekunder in i filmen ska screenshot´en tas?
11:
$s_w 120;            // screenshot-bredd i px
12:
$s_h 90;            // screenshot-höjd i px
13:
      
14:
$convert convert_video($path$type$ffmpeg$q$w$h$b$c$s$t$s_w$s_h); 



Funktionen convert_video() ser ut så här:
PHP:
1:
 function convert_video($source$format$ffmpeg$quality$width$height$bitrate$channel$screenshot$seek$pic_w$pic_h) {
2:
 
3:
$screen $width .'x'$height;
4:
$pic_size $pic_w .'x'$pic_h;
5:
$seek date("H:i:s"strtotime("00:00:00 +$seek seconds"));
6:
$destination preg_replace('/\.[a-z]{2,4}$/'''$source);
7:
 
8:
$cmd "-qscale $quality -s $screen -ab $bitrate -ac $channel";
9:
 
10:
   // konvertera rullen...
11:
   exec("START $ffmpeg/ffmpeg -i $source $cmd {$destination}.$format");
12:
   
13:
   
14:
   // kontrollera så att den konverterade filen verkligen finns...
15:
   /////////////////////////////////////////////////////////////////////////////////////////////////////////////
16:
   if (file_exists("{$destination}.$format")) {
17:
   
18:
   
19:
         // Ta en screendump av filmen och spara som png
20:
         /////////////////////////////////////////////////////////////////////////////////////////////////////////////
21:
         if ($screenshot) {
22:
      
23:
            exec("START $ffmpeg/ffmpeg -i $source -vcodec png -ss $seek -s {$pic_size} -vframes 1 {$destination}_%d.png");
24:
         
25:
            $screen $destination "_1.png";
26:
         
27:
         } else {
28:
      
29:
            $screen false;
30:
      
31:
         }
32:
      
33:
      
34:
      return array('video' => "{$destination}.$format"'screen' => $screen);
35:
   
36:
   
37:
   } else {
38:
   
39:
      return false;
40:
      
41:
   }
42:
 
43:
 
44:






För den som vill experimentera lite själv och kanske bygga vidare, kan hela grejsimojset med formulär och uppladdningnsfunktion - se ut någonting så här.
PHP:
1:
<?php
2:
 
3:
function convert_video($source$format$ffmpeg$quality$width$height$bitrate$channel$screenshot$seek$pic_w$pic_h) {
4:
 
5:
$screen $width .'x'$height;
6:
$pic_size $pic_w .'x'$pic_h;
7:
$seek date("H:i:s"strtotime("00:00:00 +$seek seconds"));
8:
$destination preg_replace('/\.[a-z]{2,4}$/'''$source);
9:
 
10:
$cmd "-qscale $quality -s $screen -ab $bitrate -ac $channel";
11:
 
12:
   // konvertera rullen...
13:
   exec("START $ffmpeg/ffmpeg -i $source $cmd {$destination}.$format");
14:
   
15:
   
16:
   // kontrollera så att den konverterade filen verkligen finns...
17:
   /////////////////////////////////////////////////////////////////////////////////////////////////////////////
18:
   if (file_exists("{$destination}.$format")) {
19:
   
20:
   
21:
         // Ta en screendump av filmen och spara som png
22:
         /////////////////////////////////////////////////////////////////////////////////////////////////////////////
23:
         if ($screenshot) {
24:
      
25:
            exec("START $ffmpeg/ffmpeg -i $source -vcodec png -ss $seek -s {$pic_size} -vframes 1 {$destination}_%d.png");
26:
         
27:
            $screen $destination "_1.png";
28:
         
29:
         } else {
30:
      
31:
            $screen false;
32:
      
33:
         }
34:
      
35:
      
36:
      return array('video' => "{$destination}.$format"'screen' => $screen);
37:
   
38:
   
39:
   } else {
40:
   
41:
      return false;
42:
      
43:
   }
44:
 
45:
 
46:
}
47:
 
48:
 
49:
 
50:
if (isset($_POST['submit'])) {
51:
 
52:
 
53:
$movie $_FILES['movie']['name'];
54:
$path "mapp/dit/filmen/skall/sparas/$movie"// vart ska filmen sparas?
55:
 
56:
 
57:
   // Flytta rullen till $path
58:
   if(move_uploaded_file($_FILES['movie']['tmp_name'], $path)) {
59:
 
60:
      $type 'flv';         // format att konvertera till
61:
      $ffmpeg 'c:/ffmpeg';   // Sökväg till mappen där ffmpeg ligger
62:
      $q 10;            // Kvalité på konverteringen (0=bäst, 31=sämst)
63:
      $w 320;            // Bredd i px
64:
      $h 240;            // Höjd i px
65:
      $b 96;            // Kvalite på ljudet: 96 kb/s
66:
      $c 1;               // Kanaler (1=mono, 2=stereo)
67:
      $s true;            // Ta screenshot? (boolean)
68:
      $t 3;               // hur många sekunder in i filmen ska screenshot´en tas?
69:
      $s_w 120;            // screenshot-bredd i px
70:
      $s_h 90;            // screenshot-höjd i px
71:
      
72:
      $convert convert_video($path$type$ffmpeg$q$w$h$b$c$s$t$s_w$s_h);
73:
 
74:
         // Lyckades konverteringen?
75:
         if ($convert) {
76:
         
77:
            $msg "<img src=\"$convert[screen]\" alt=\"\" /><br />
78:
            <a href=\"$convert[video]\">"basename($convert['video']) ."</a> - Hårdrock, allt ok!";
79:
         
80:
         } else {
81:
         
82:
            $msg "Något gick fel!";
83:
         
84:
         }
85:
   
86:
   
87:
   
88:
      // Radera den uppladdade filmen
89:
      unlink($path);
90:
      
91:
   } else {
92:
   
93:
      $msg "A problem occured while uploading $movie!";
94:
   
95:
   }
96:
   
97:
   echo $msg;
98:
   
99:
}
100:
 
101:
 
102:
?><form method="post" action="" enctype="multipart/form-data">
103:
<input type="file" name="movie" /><br />
104:
<input type="submit" name="submit" value="Upload Clip!" />
105:
</form>


Have fun Wink
 

_________________
if ($you != 'hårdrockare') die ('there´s something wrong with $you');
Twittra med mig
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Blizzer



Medlem i: 2965 dagar
Från: Stockholm
Status: Offline



#447367
Inlägg Skrivet: 2007-01-01 22:32      Ämne: Citera

Jag har ingen server som jag kan testa på men, varför konvertera till FVL? Nästan aldrig sett det formatet mer än på YouTube. =)
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Wuiqed



Medlem i: 3326 dagar
Från: Wexio
Status: Offline



#447369
Inlägg Skrivet: 2007-01-01 22:43      Ämne: Citera

Blizzer skrev:
Jag har ingen server som jag kan testa på men, varför konvertera till FVL? Nästan aldrig sett det formatet mer än på YouTube. =)

Du tror inte det finns en anledning till att Youtube, Google Video och alla andra populära videosajter använder det? Rolling Eyes
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida ICQ-nummer
alucar[D]^



Medlem i: 2791 dagar
Från: Sverige?
Status: Offline



#453879
Inlägg Skrivet: 2007-01-23 05:50      Ämne: Re: Konvertera uppladdade filmer till FLV samt ta screenshot Citera

Intressant värre. Nån som har koll på hur detta skulle fungera på GNU/Linux?
 

_________________
Jag är glad, med eller utan smajlies.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
spuun



Medlem i: 3505 dagar
Från: Linköping
Status: Offline



#453897
Inlägg Skrivet: 2007-01-23 10:12      Ämne: Citera

ffmpeg är väl utvecklat för linux från början, så det fungerar nog fint ;]
 

_________________
:] :] :] *kjamizzar* :] :] :]

Varför inkludera allt i indexfilen?
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
alucar[D]^



Medlem i: 2791 dagar
Från: Sverige?
Status: Offline



#453900
Inlägg Skrivet: 2007-01-23 10:37      Ämne: Citera

Det vet jag. xD
Antar att det bara är att ända lite i startkommandot och göra. :>
 

_________________
Jag är glad, med eller utan smajlies.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
cosmobrown



Medlem i: 2599 dagar

Status: Offline



#454788
Inlägg Skrivet: 2007-01-26 17:47      Ämne: Citera

Kör fast lite med detta, får inte scriptet att starta ffmpeg.exe. Har ändrat rättigheter på cmd.exe samt ffmpeg.exe.

Den startar en process men jag får inte ut någon film, det kommer även ett "fel ljud" från windows. php-cgi.exe startas också.

Nån som vet nåt annat sätt att köra extern program eller har några förslag?

*Har löst problemet nu*
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
lajja
Inaktiverad



Medlem i: 2594 dagar
Från: "The United Earth"
Status: Offline



#463619
Inlägg Skrivet: 2007-02-25 17:14      Ämne: Citera

Funkar det på Linux?
 

_________________
Jag är lätt världens bästa 13-åring!

min sida - värd 170$ Razz
mitt skrivbord
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
orreborre



Medlem i: 3759 dagar
Från: Göteborg
Status: Offline



#466178
Inlägg Skrivet: 2007-03-06 02:35      Ämne: Citera

Hijackar tråden lite eftersom det efterfrågas något som funkar i Linux.
Här är en enkel klass för PHP5 som funkar i Linux förutsatt att ffmpeg är installerat.

ajajajaj vad ont jag har, här kommer klassen i alla fall, jag antar att ni kan lista ut hur man använder den.

Kommentera bort rad 30 om ni inte har flvtool2 installerat. (Det är ett verktyg som skriver metadata till flv-filen. I detta fall hur lång filmen är.)

PHP:
1:
 
2:
class FFmpeg
3:
  {
4:
    private $path_to_bin;
5:
    private $input_mov;
6:
    
7:
    function __construct()
8:
    {
9:
        $this->path_to_bin      =   '/usr/bin/ffmpeg';
10:
        $this->input_mov        =   NULL;
11:
    }
12:
  
13:
    
14:
    public function setInputMov($input_mov)
15:
    {
16:
        $this->input_mov $input_mov;
17:
    }
18:
  
19:
    
20:
    public function screenshot($frame 1$image_name 'thumb.jpg'$image_size '160x120')
21:
    {
22:
        exec($this->path_to_bin." -y -i '".$this->input_mov."' -f image2 -ss ".$frame." -vframes 1 -s ".$image_size." -an '".$image_name."'");
23:
        return file_exists($image_name);
24:
    }
25:
  
26:
  
27:
    public function convertToFlv($mov_name 'converted.flv'$mov_size '320x240')
28:
    {
29:
        exec($this->path_to_bin." -i '".$this->input_mov."' -ab 32 -f flv -s ".$mov_size." -r 12 '".$mov_name."'");
30:
        exec("cat ".$mov_name." | flvtool2 -U stdin ".$mov_name);
31:
        return file_exists($mov_name);
32:
    }
33:
  } 


EDIT
Lägger till ett exempel på hur man använder klassen.
PHP:
1:
 
2:
$ff = new FFmpeg();
3:
$ff->setInputMov('film.3gp'); //Den uppladdade filmens namn
4:
 
5:
$ff->screenshot(26'screenie.jpg'); //Vilken frame som ska fångas samt filnamn/sökväg till bilden som ska tas. Det går även att skicka in hur stor bilden ska vara.
6:
$ff->convertToFlv('test.flv''240x160'); //Filnamn på den konverterade filmen samt storlek på denne.
7:
 
 

_________________
Alla säger att jag är lat, men jag har ju inte gjort något...
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
morre95



Medlem i: 2614 dagar
Från: Boxholm
Status: Offline



#483131
Inlägg Skrivet: 2007-04-28 18:04      Ämne: Citera

Detta är ju klockrent, vad jag behöver. Men jag kyckas inte få igång det. Jag kan starta notpad mad exec("START c:\\windows\\system32\\notepad.exe");

Men när jag försöker köra detta scipt som nicklas visade här då får jag medelandet: något gick fel. Det blir samma fel även om jag ändrar sökvägen till ffmpeg så det blir \\ istället för /

Någon som vet vad detta kan vara?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
Aleex



Medlem i: 2727 dagar

Status: Offline



#485895
Inlägg Skrivet: 2007-05-07 13:49      Ämne: Citera

Jag hade liknande problem som dig morre95,
så jag testade att starta ffmpeg.exe själv och fick då meddelande om att pthreadGC2.dll fattades.
Googlade den och nu funkar det fint Wink

Tackar!
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
morre95



Medlem i: 2614 dagar
Från: Boxholm
Status: Offline



#486164
Inlägg Skrivet: 2007-05-08 00:39      Ämne: Citera

Okej, tack för hjälpen. Men när jag klickar på ffmpeg filen så blickar en ruta till. Som jag inte hinner se vad det är för något. Kan vara dospromten men jag vet inte. Och sedan händer det inget mer. Ska det vara så?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
alucar[D]^



Medlem i: 2791 dagar
Från: Sverige?
Status: Offline



#486373
Inlägg Skrivet: 2007-05-08 21:47      Ämne: Citera

morre95 skrev:
Okej, tack för hjälpen. Men när jag klickar på ffmpeg filen så blickar en ruta till. Som jag inte hinner se vad det är för något. Kan vara dospromten men jag vet inte. Och sedan händer det inget mer. Ska det vara så?


Ja, utan rätt växlar händer inget. Testa att ta upp dosprompten, bläddra till mappen där programmet ligger, sedan kör ffmpeg.exe eller vad den nu heter.
 

_________________
Jag är glad, med eller utan smajlies.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
morre95



Medlem i: 2614 dagar
Från: Boxholm
Status: Offline



#486504
Inlägg Skrivet: 2007-05-09 11:33      Ämne: Citera

alucar[D] ^ skrev:
morre95 skrev:
Okej, tack för hjälpen. Men när jag klickar på ffmpeg filen så blickar en ruta till. Som jag inte hinner se vad det är för något. Kan vara dospromten men jag vet inte. Och sedan händer det inget mer. Ska det vara så?


Ja, utan rätt växlar händer inget. Testa att ta upp dosprompten, bläddra till mappen där programmet ligger, sedan kör ffmpeg.exe eller vad den nu heter.


Då kommer den här teten upp.

fastint E.V.. fast integer
int E.V.. accurate integer
mmx E.V..
mlib E.V..
altivec E.V..
faan E.V.. floating point AAN DCT
-lumi_mask <float> E.V.. compresses bright areas stronger than medium on
es
-tcplx_mask <float> E.V.. temporal complexity masking
-scplx_mask <float> E.V.. spatial complexity masking
-p_mask <float> E.V.. inter masking
-dark_mask <float> E.V.. compresses dark areas stronger than medium ones

-idct <int> EDV.. select IDCT implementation
auto EDV..
int EDV..
simple EDV..
simplemmx EDV..
libmpeg2mmx EDV..
ps2 EDV..
mlib EDV..
arm EDV..
altivec EDV..
sh4 EDV..
simplearm EDV..
simplearmv5te EDV..
h264 EDV..
vp3 EDV..
ipp EDV..
xvidmmx EDV..
-ec <flags> .DV.. set error concealment strategy
guess_mvs .DV.. iterative motion vector (MV) search (slow)
deblock .DV.. use strong deblock filter for damaged MBs
-pred <int> E.V.. prediction method
left E.V..
plane E.V..
median E.V..
-aspect <rational> E.V.. sample aspect ratio
-debug <flags> EDVAS print specific debug info
pict .DV.. picture info
rc E.V.. rate control
bitstream .DV..
mb_type .DV.. macroblock (MB) type
qp .DV.. per-block quantization parameter (QP)
mv .DV.. motion vector
dct_coeff .DV..
skip .DV..
startcode .DV..
pts .DV..
er .DV.. error resilience
mmco .DV.. memory management control operations (H.264)
bugs .DV..
vis_qp .DV.. visualize quantization parameter (QP), lower QP
are tinted greener
vis_mb_type .DV.. visualize block types
-vismv <int> .DV.. visualize motion vectors (MVs)
pf .DV.. forward predicted MVs of P-frames
bf .DV.. forward predicted MVs of B-frames
bb .DV.. backward predicted MVs of B-frames
-mb_qmin <int> E.V.. obsolete, use qmin
-mb_qmax <int> E.V.. obsolete, use qmax
-cmp <int> E.V.. full pel me compare function
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed difference
s
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low
quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-subcmp <int> E.V.. sub pel me compare function
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed difference
s
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low
quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-mbcmp <int> E.V.. macroblock compare function
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed difference
s
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low
quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-ildctcmp <int> E.V.. interlaced dct compare function
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed difference
s
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low
quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-dia_size <int> E.V.. diamond type & size for motion estimation
-last_pred <int> E.V.. amount of motion predictors from the previous f
rame
-preme <int> E.V.. pre motion estimation
-precmp <int> E.V.. pre motion estimation compare function
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed difference
s
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low
quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-pre_dia_size <int> E.V.. diamond type & size for motion estimation pre-p
ass
-subq <int> E.V.. sub pel motion estimation quality
-me_range <int> E.V.. limit motion vectors range (1023 for DivX playe
r)
-ibias <int> E.V.. intra quant bias
-pbias <int> E.V.. inter quant bias
-coder <int> E.V..
vlc E.V.. variable length coder / huffman coder
ac E.V.. arithmetic coder
raw E.V.. raw (no encoding)
rle E.V.. run-length coder
deflate E.V.. deflate-based coder
-context <int> E.V.. context model
-mbd <int> E.V.. macroblock decision algorithm (high quality mod
e)
simple E.V.. use mbcmp (default)
bits E.V.. use fewest bits
rd E.V.. use best rate distortion
-sc_threshold <int> E.V.. scene change threshold
-lmin <int> E.V.. min lagrange factor (VBR)
-lmax <int> E.V.. max lagrange factor (VBR)
-nr <int> E.V.. noise reduction
-rc_init_occupancy <int> E.V.. number of bits which should be loaded into the
rc buffer before decoding starts
-inter_threshold <int> E.V..
-flags2 <flags> EDVA.
fast E.V.. allow non spec compliant speedup tricks
sgop E.V.. strictly enforce gop size
noout E.V.. skip bitstream encoding
local_header E.V.. place global headers at every keyframe instead
of in extradata
bpyramid E.V.. allows B-frames to be used as references for pr
edicting
wpred E.V.. weighted biprediction for b-frames (H.264)
mixed_refs E.V.. one reference per partition, as opposed to one
reference per macroblock
dct8x8 E.V.. high profile 8x8 transform (H.264)
fastpskip E.V.. fast pskip (H.264)
aud E.V.. access unit delimiters (H.264)
brdo E.V.. b-frame rate-distortion optimization
skiprd E.V.. RD optimal MB level residual skipping
ivlc E.V.. intra vlc table
drop_frame_timecode E.V..
non_linear_q E.V.. use non linear quantizer
-error <int> E.V..
-antialias <int> .DV.. MP3 antialias algorithm
auto .DV..
fastint .DV..
int .DV..
float .DV..
-qns <int> E.V.. quantizer noise shaping
-threads <int> EDV..
-mb_threshold <int> E.V.. macroblock threshold
-dc <int> E.V.. intra_dc_precision
-nssew <int> E.V.. nsse weight
-skip_top <int> .DV.. number of macroblock rows at the top which are
skipped
-skip_bottom <int> .DV.. number of macroblock rows at the bottom which a
re skipped
-profile <int> E.VA.
unknown E.VA.
-level <int> E.VA.
unknown E.VA.
-lowres <int> .DV.. decode at 1= 1/2, 2=1/4, 3=1/8 resolutions
-skip_threshold <int> E.V.. frame skip threshold
-skip_factor <int> E.V.. frame skip factor
-skip_exp <int> E.V.. frame skip exponent
-skipcmp <int> E.V.. frame skip compare function
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed difference
s
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low
quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-border_mask <float> E.V.. increases the quantizer for macroblocks close t
o borders
-mblmin <int> E.V.. min macroblock lagrange factor (VBR)
-mblmax <int> E.V.. max macroblock lagrange factor (VBR)
-mepc <int> E.V.. motion estimation bitrate penalty compensation
(1.0 = 256)
-bidir_refine <int> E.V.. refine the two motion vectors used in bidirecti
onal macroblocks
-brd_scale <int> E.V.. downscales frames for dynamic B-frame decision
-crf <float> E.V.. enables constant quality mode, and selects the
quality (x264)
-cqp <int> E.V.. constant quantization parameter rate control me
thod
-keyint_min <int> E.V.. minimum interval between IDR-frames (x264)
-refs <int> E.V.. reference frames to consider for motion compens
ation (Snow)
-chromaoffset <int> E.V.. chroma qp offset from luma
-bframebias <int> E.V.. influences how often B-frames are used
-trellis <int> E.VA. rate-distortion optimal quantization
-directpred <int> E.V.. direct mv prediction mode - 0 (none), 1 (spatia
l), 2 (temporal)
-complexityblur <float> E.V.. reduce fluctuations in qp (before curve compres
sion)
-deblockalpha <int> E.V.. in-loop deblocking filter alphac0 parameter
-deblockbeta <int> E.V.. in-loop deblocking filter beta parameter
-partitions <flags> E.V.. macroblock subpartition sizes to consider
parti4x4 E.V..
parti8x8 E.V..
partp4x4 E.V..
partp8x8 E.V..
partb8x8 E.V..
-sc_factor <int> E.V.. multiplied by qscale for each frame and added t
o scene_change_score
-mv0_threshold <int> E.V..
-b_sensitivity <int> E.V.. adjusts sensitivity of b_frame_strategy 1
-compression_level <int> E.VA.
-use_lpc <int> E..A. sets whether to use LPC mode (FLAC)
-lpc_coeff_precision <int> E..A. LPC coefficient precision (FLAC)
-min_prediction_order <int> E..A.
-max_prediction_order <int> E..A.
-prediction_order_method <int> E..A. search method for selecting prediction or
der
-min_partition_order <int> E..A.
-max_partition_order <int> E..A.
-timecode_frame_start <int> E.V.. GOP timecode frame start number, in non drop
frame format
AVFormatContext AVOptions:
-probesize <int> .D...
-muxrate <int> E.... set mux rate
-packetsize <int> E.... set packet size
-fflags <flags> ED...
ignidx .D... ignore index
genpts .D... generate pts
-track <int> E.... set the track number
-year <int> E.... set the year
-analyzeduration <int> .D... how many microseconds are analyzed to estimate
duration

C:\Documents and Settings\Erik Morén>

Jag förstår inte så mycke av vad som händer, men jag antar att programet startar i alla fall. Och jag har provat med flera filer men det kommer bara upp att något gick fel. Kör med exakt samma script som Nicklas visar här. Är det något jag ska ändra där kanske?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
Guldstrand



Medlem i: 3620 dagar
Från: Lindesberg, Örebro
Status: Offline



#497493
Inlägg Skrivet: 2007-06-17 22:29      Ämne: Citera

Någon som kan hjälpa mig med att infoga koden ovan i mitt lilla uppladdningsscript? Embarassed

PHP:
1:
<?php 
2:
require "include/bittorrent.php";
3:
dbconn();
4:
loggedinorreturn();
5:
 
6:
 
7:
// Config
8:
$serverpath filmer."/".$CURUSER['username'];
9:
 
10:
$urltoimages "filmer/".$CURUSER['username']."/".$filename;
11:
if (!is_dir($urltoimages))
12:
mkdir($urltoimages0777);
13:
 
14:
$maxsize 5120 1024;
15:
// Config End
16:
 
17:
stdhead("Ladda upp film");
18:
begin_frame("Ladda upp film"center);
19:
 
20:
$mode $_GET['mode'];
21:
if ($mode == "") { $mode "form"; }
22:
 
23:
if ($mode == "form") {
24:
?>
25:
<form method=post action="?mode=upload" enctype="multipart/form-data">
26:
<p><b>Maximal filstorlek: <?=number_format($maxsize); ?> bytes.</b><br></p>
27:
<table border=1 cellspacing=0 cellpadding=5>
28:
<tr><td class=rowhead>Sök film</td><td><input type=file name=file size=60></td></tr>
29:
<tr><td class=rowhead>Kommentar</td><td><input type=text name=kommentar size=60></td></tr>
30:
 
31:
<tr><td colspan=2 align=center><input type=submit name=Submit value="Ladda upp" class=btn></td></tr>
32:
</table>
33:
</form>
34:
<p>
35:
 
36:
<table class=main width=400 border=0 cellspacing=0 cellpadding=0>
37:
<center><font class=small>&nbsp;&nbsp;&nbsp;<b>Bra att veta:</center><center></b> Första gången du väljer att ladda upp en film, kommer en mapp skapas (automatiskt) med ditt/ert användarnamn, som är <em><?=$CURUSER['username'];?></em>.<br />
38:
I denna mappen kan ni sedan ladda upp samt radera filmer.</font></center>
39:
</td></tr></table>
40:
<?php 
41:
}
42:
 
43:
if ($mode == "upload") {
44:
$file $_FILES['file']['name'];
45:
 
46:
$allowedfiles[] = "avi";
47:
$allowedfiles[] = "mpg";
48:
$allowedfiles[] = "mpeg";
49:
$allowedfiles[] = "wmv";
50:
$allowedfiles[] = "mov";  
51:
 
52:
 
53:
if($_FILES['file']['size'] > $maxsize)
54:
{
55:
print "Filmen är för stor. Förmindska filmen (filen) och försök igen.";
56:
}
57:
else {
58:
$path "$serverpath/$file";
59:
foreach($allowedfiles as $allowedfile) {
60:
 
61:
if ($done <> "yes") {
62:
if (file_exists($path)) {
63:
echo "Uppladdning misslyckad. En film (fil) med samma namn finns redan. Försök med ett annat namn.";
64:
 
65:
 
66:
exit;
67:
}
68:
}
69:
 
70:
if (substr($file, -3) == $allowedfile) {
71:
move_uploaded_file($_FILES['file']['tmp_name'], "$path");
72:
$done "yes";
73:
 
74:
echo "<p><a href=filmupp.php>Ladda upp en ny film.</a></p>";
75:
echo "<p>Film uppladdad! Använd följande länk för att visa filmen.</p>";
76:
echo "<p><A href='http://minsida.com/$urltoimages/$file' target='_blank'><strong>$urltoimages/$file</strong></a></p>";
77:
echo "<p><img src='$urltoimages/$file2' border='0'>";
78:
$name sqlesc($file);
79:
$kommentar sqlesc($_POST["kommentar"]);
80:
$screen sqlesc($file2);
81:
$added sqlesc(get_date_time());
82:
mysql_query("INSERT INTO filmer (owner, name, kommentar, screen, added) VALUES ($CURUSER[id]$name$kommentar$screen$added)") or sqlerr(__FILE____LINE__);
83:
 
84:
}
85:
 
86:
}
87:
 
88:
if ($done <> "yes") { print "<p><b>Fel:</b> Filmen kunde inte laddas upp. Ogiltigt filformat.
89:
.</p>"; } 
90:
}
91:
}
92:
 
93:
end_main_frame();
94:
 
95:
end_frame();
96:
stdfoot(); 
97:
 
98:
?>
 

_________________
Det jag inte redan kan vill jag gärna lära mig...
Guldstrand -Nybörjare på Php
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget Gå till sida 1, 2, 3, 4, 5, 6  Nästa
PHPportalen Forum Index » Tips och Trix
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic
qualitum logo