Hallo,
wie der Titel dieses Threads schon verrät, habe ich leider ein Problem mit einem PHP Script.
Okay mit dem Script selber nicht, da ich in PHP ziemlich fit bin, aber dafür verstehe ich so einige Sachen im Code nicht.
Es geht um einen Konvertor von einem Videohostingscript namens "PHPMotion".
Nach diesem Script werden bestimmten Befehle an den MENCODER oder FFMPEG gesendet und dieser wandelt die Videos dann in ein normales .FLV und ein "HD" .FLV Video um.
Ich habe das Script ein wenig geändert, so das die Videos in MP4 umgewandelt werden per x264 (h264) und dem Audiocodec FAAC.
Es schien anfangs auch zu funktionieren, aber nach einiger Zeit bricht das Umwandeln einfach ab.
Ich habe schon einiges Probiert, aber leider ohne Erfolg.
Und seitens des Autors dieses Script gibt es kein Support und deswegen seit Ihr meine letzte Hoffnung.
So sieht Code aus, den ich verändert habe:
$new_flv = $base_path . "/uploads/" . $file_name_no_extension . ".flv";
$new_flv_2 = $base_path . "/uploads/high/" . $file_name_no_extension . ".mp4";
switch ($extension) {
case 'wmv':
//UNCOMMENT THIS LINE OUTPUTS VERY HIGH QUALITY FLV -- FLV FILE MUCH LARGER
//$ffmpeg_cmd2 = "$config[path_to_ffmpeg] -i $raw_video_path -ab 64 -ar 44100 -b 6000k -r 30 -s 850x505 -sameq $new_flv";
$ffmpeg_cmd2_2 = "$config[path_to_ffmpeg] -y -chromaoffset 0 -i $raw_video_path -acodec libfaac -ab 128k -pass 2 -s 850x505 -vcodec libx264 -b 786K -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -me umh -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -g 300 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 786K -maxrate 1.5M -bufsize 10M -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 16:9 $new_flv_2";
$ffmpeg_cmd2 = "$config[path_to_ffmpeg] -i $raw_video_path -copyts -ar 44100 -s 590x330 $new_flv";
@exec("$ffmpeg_cmd2_2");
@exec("$ffmpeg_cmd2");
case 'avi':
$ffmpeg_cmd2_2 = "$config[path_to_ffmpeg] -y -chromaoffset 0 -i $raw_video_path -acodec libfaac -ab 128k -pass 2 -s 850x505 -vcodec libx264 -b 786K -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -me umh -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -g 300 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 786K -maxrate 1.5M -bufsize 10M -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 16:9 $new_flv_2";
$ffmpeg_cmd2 = "$config[path_to_ffmpeg] -i $raw_video_path -copyts -ar 44100 -s 590x330 $new_flv";
@exec("$ffmpeg_cmd2_2");
@exec("$ffmpeg_cmd2");
//debugging
$debug_1 = $ffmpeg_cmd2 . "\n";//file line of debug
foreach ($output as $outputline) {
$debug_1 = $debug_1 . $outputline . "\n";
if ($debugmodex == 1) {//no debug mode
echo ("$outputline<br>");
}
}
// Version HD
$mencoder_cmd_2 = "$path_to_mencoder -ovc x264 $raw_video_path -x264encopts level_idc=12:bitrate=128:bframes=2:subq=7:partitions=all:8x8dct:me=hex:me_range=16:frameref=1:trellis=0:b_pyramid:weight_b:mixed_refs:threads=0:qcomp=0.6:keyint=250:min-keyint=25:direct=temporal -vf scale=850:505 -oac lavc -lavcopts acodec=libfaac:abitrate=128 -srate 48000 -af channels=2 -of lavf -ofps 25 -lavfopts format=mp4 -o $new_flv_2";
@exec("$mencoder_cmd_2 2>&1", $output_2);
//If no flv was created. Attempt to convert with -vop swicth and not -vf
if (!file_exists($new_flv_2)) {
$mencoder_cmd_2 = "$path_to_mencoder -ovc x264 $raw_video_path -x264encopts level_idc=12:bitrate=128:bframes=2:subq=7:partitions=all:8x8dct:me=hex:me_range=16:frameref=1:trellis=0:b_pyramid:weight_b:mixed_refs:threads=0:qcomp=0.6:keyint=250:min-keyint=25:direct=temporal -vf scale=850:505 -oac lavc -lavcopts acodec=libfaac:abitrate=128 -srate 48000 -af channels=2 -of lavf -ofps 25 -lavfopts format=mp4 -o $new_flv_2";
@exec("$mencoder_cmd_2 2>&1", $output_2);
}
//If no flv was created. Attempt to convert with no -lavcopts i_certify_etc_etc
if (!file_exists($new_flv_2)) {
$mencoder_cmd_2 = "$path_to_mencoder -ovc x264 $raw_video_path -x264encopts level_idc=12:bitrate=128:bframes=2:subq=7:partitions=all:8x8dct:me=hex:me_range=16:frameref=1:trellis=0:b_pyramid:weight_b:mixed_refs:threads=0:qcomp=0.6:keyint=250:min-keyint=25:direct=temporal -vf scale=850:505 -oac lavc -lavcopts acodec=libfaac:abitrate=128 -srate 48000 -af channels=2 -of lavf -ofps 25 -lavfopts format=mp4 -o $new_flv_2";
@exec("$mencoder_cmd_2 2>&1", $output_2);
}
if (filesize($new_flv_2)<'100') {
$ffmpeg_cmd2_2 = "$config[path_to_ffmpeg] -i $raw_video_path -acodec libfaac -ab 128k -pass 2 -s 850x505 -vcodec libx264 -b 786K -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -me umh -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -g 300 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 786K -maxrate 1.5M -bufsize 10M -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 16:9 $new_flv_2";
@exec("$ffmpeg_cmd2_2");
}
Alles anzeigen
Wie gesagt, es sind nur einige Stellen dieses Scripts.
Ich hoffe Ihr könnt mir helfen und mir vorallem sagen was ich falsch gemacht habe.
Ein Dank schon mal an jede hilfreiche Antwort.
Gruß René