ERLEDIGT
NEIN
NEIN
ANTWORTEN
16
16
ZUGRIFFE
3160
3160
EMPFEHLEN
-
10.02.09 16:33 #16Ch Tutorials.de Gastzugang
Hallo,
scheint ja doch einige noch zu interressieren. Nach langen experimentieren, habe ich mich jetzt entschlossen von Php5-ffmpeg weg zu kommen. Der Grund ist ziemlich einfach, ständige Abstürze der GD Klasse. Momentan bin ich auf der Suche, die Metadaten eines Videos mit Php auszulesen. Vielleicht hat jemand eine Idee, von der Sache her reichen Höhe, Breite und Abspiellänge.
Meine Videos und Vorschaubilder erstelle ich über die system($convertStr, $ret) von php. Leider gibt FFmpeg nur im Fehlerfall was zurück. Ein "> log.txt" am Ende vom Convertstr. hat zwar die datei erstellt aber die Konsolenausgabe nicht reingeschrieben. Naja vielleicht habe ich da ja auch einen Denkfehler, weil das Skript rufe ich über cron über cli auf. Hier mal meine Convertstrings.
Video
VorschaubildPHP-Code://$format = $breite.'x'.$höhe -> in pixel, sollte vorher berechnet werden
// man könnte ein $format = $breite.'x' oder $format = 'x'.$höhe ausprobieren, habe ich aber nicht gemacht. Bei imagick klappt es...
$convert_befehl = FFMPEG_BINARY.' -i '.$saves_pfad.$org_file_name.' -s '. $format . ' -ab 128k -ac 2 -ar 44100 -sameq -r 20 '. $saves_pfad.$neuer_file_name
Wie gesagt noch brauche ich die Klasse, wegen den Metadaten. Hoffe nur bald nicht mehr. Wenn du animierte Gifs brauchst, erstelle temporär verschiedene Vorschaubilder, also von unterschiedlichen Frames und lasse sie durch Imagick zu einen Gif verarbeiten. Ungefähr soPHP-Code://$zeit = Format 00:00:50 ->50sec
$convert_jpg_str = FFMPEG_BINARY.' -i '.$saves_pf.$neuer_file_name.' -an -ss '.$zeit.' -r 1 -vframes 1 -s '.$mov->getFrameWidth().'x'.$mov->getFrameHeight().' %d.jpg && mv 1.jpg '.$saves_pf.$img_name';
GrussPHP-Code:$convert_gif_str = '/usr/bin/convert -delay 100 -loop 0 ';
foreach ($img_tmp_arr as $value){ // dass ist die Liste der Vorschaubilder
$convert_gif_str .= ' '.$value.' ';
}
$convert_gif_str .= PFAD_ABSOLUT.$gif_name;
system($convert_gif_str, $ret);
Geändert von Ch (10.02.09 um 22:27 Uhr)
-
Da ich gerade selbst dass Problem hatte am 8 März 2009 um 05:24
habe ich dass Problem mit meinen guten C kenntnissen so gelöst
bitte diesen code mit der zeile /* {{{ _php_avframe_to_gd_image()
ersetzten
Code :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
/* {{{ _php_avframe_to_gd_image() */ static int _php_avframe_to_gd_image(AVFrame *frame, gdImage *dest, int width, int height) { int x, y; int *src = (int*)frame->data[0]; if (width > dest->sx || height > dest->sy) { return -1; } for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { /* copy pixel to gdimage buffer zeroing the alpha channel */ dest->tpixels[y][x] = src[x] & 0x00ffffff; } src += width; } return 0; } /* }}} */
Liebe Grüße
Sascha
Ähnliche Themen
-
ffmpeg + aac
Von OnlyFoo im Forum Videoschnitt, Videotechnik & -produktionAntworten: 1Letzter Beitrag: 07.08.09, 20:03 -
ffmpeg in PHP?
Von jackie05 im Forum PHPAntworten: 0Letzter Beitrag: 21.12.08, 13:58 -
Problem mit FFMPEG
Von Lyria im Forum Videoschnitt, Videotechnik & -produktionAntworten: 0Letzter Beitrag: 19.08.08, 17:27 -
php5 und php5&fcgid gleichzeitig laufen lassen
Von fanste im Forum Hosting & WebserverAntworten: 5Letzter Beitrag: 20.04.07, 18:22 -
Ffmpeg
Von Kurt Cobain im Forum Linux & UnixAntworten: 5Letzter Beitrag: 06.12.06, 16:30





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren