Mohammad-tashi
جمعه 17 مهر 1394, 02:10 صبح
باسلام
من میخام در سایت یه فرم ارسال ویدئو بذارم
که کاربر ویدئو و انتخاب کنه و سیستم اتوماتیک ازش عکس بندانگشت بگیره و ذخیره کنه و من بتونم آدرس و نام فایل رو در دیتابیس بریزم
خیلی سرچ کردم همه جا گفته شده از ffmpeg باید استفاده کرد . اصلا این تابع توی همه هاست ها هست؟
اما من هرچی خوندم نفهمیدم این کد چیکار میکنه و چطور باید ازش استفاده کرد
ممنون میشم یک کد ساده بذارید که این کارا رو بکنه
یا کد زیر رو که پیدا کردم تفسیر کنید ببینید چیه؟
البته این کد برای دروپال ظاهرا
اگه کم و زیادش رو بتونین انجام بدید ممنون میشم
<?php
// Copy this file to the root directory of your drupal site. Note you may have to tweak the options.
//
// Usage: php make_thumbs.php h t t p ://mysite.com/make_thumbs.php
//
// Set these for your site.
$home = "/home/mysite";
$ffmpeg = $home . "/bin/ffmpeg";
$tmp = $home . "/tmp";
$options = "-an -y -f mjpeg -ss 2 -s 160x92 -vframes 1 "; if (isset(
$_SERVER['argv'][1])) {
$url = parse_url($_SERVER['argv'][1]);
$_SERVER['SCRIPT_NAME'] = $url['path'];
$_SERVER['HTTP_HOST'] = $url['host'];
} include_once
'./includes/bootstrap.inc';
// disable error reporting for bootstrap process
error_reporting(E_ERROR);
// let's bootstrap: we will be able to use drupal apis
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
// enable full error reporting again
error_reporting(E_ALL); if(!empty(
$_SERVER['REQUEST_METHOD'])) {
print t('This script is only executable from the command line.');
die();
} $result = db_query("SELECT * from {video}");
while ($video = db_fetch_object($result)) {
$vnid = $video->nid;
$data = unserialize($video->serialized_data);
if (is_null($data['iid']) | $data['iid'] == "") {
$thumbpath = $tmp . "/" . $video->nid . ".jpg";
print t("Generating thumbnail for " . $vnid . ".\n");
//print t($ffmpeg . " -i " . $video->vidfile . " " . $options . " " . $thumbpath ."\n");
exec($ffmpeg . " -i " . $video->vidfile . " " . $options . " " . $thumbpath, $output);
print_r($output);
$img = image_create_node_from($thumbpath);
$imgnid = $img->nid;
$data['iid'] = $imgnid;
$data = serialize($data);
db_query("UPDATE {video} SET serialized_data = '%s' WHERE nid = %d", $data, $vnid);
} else {
print t("Skipping " . $vnid . ": iid is " . $data['iid'] . "\n");
}
}
?>
من میخام در سایت یه فرم ارسال ویدئو بذارم
که کاربر ویدئو و انتخاب کنه و سیستم اتوماتیک ازش عکس بندانگشت بگیره و ذخیره کنه و من بتونم آدرس و نام فایل رو در دیتابیس بریزم
خیلی سرچ کردم همه جا گفته شده از ffmpeg باید استفاده کرد . اصلا این تابع توی همه هاست ها هست؟
اما من هرچی خوندم نفهمیدم این کد چیکار میکنه و چطور باید ازش استفاده کرد
ممنون میشم یک کد ساده بذارید که این کارا رو بکنه
یا کد زیر رو که پیدا کردم تفسیر کنید ببینید چیه؟
البته این کد برای دروپال ظاهرا
اگه کم و زیادش رو بتونین انجام بدید ممنون میشم
<?php
// Copy this file to the root directory of your drupal site. Note you may have to tweak the options.
//
// Usage: php make_thumbs.php h t t p ://mysite.com/make_thumbs.php
//
// Set these for your site.
$home = "/home/mysite";
$ffmpeg = $home . "/bin/ffmpeg";
$tmp = $home . "/tmp";
$options = "-an -y -f mjpeg -ss 2 -s 160x92 -vframes 1 "; if (isset(
$_SERVER['argv'][1])) {
$url = parse_url($_SERVER['argv'][1]);
$_SERVER['SCRIPT_NAME'] = $url['path'];
$_SERVER['HTTP_HOST'] = $url['host'];
} include_once
'./includes/bootstrap.inc';
// disable error reporting for bootstrap process
error_reporting(E_ERROR);
// let's bootstrap: we will be able to use drupal apis
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
// enable full error reporting again
error_reporting(E_ALL); if(!empty(
$_SERVER['REQUEST_METHOD'])) {
print t('This script is only executable from the command line.');
die();
} $result = db_query("SELECT * from {video}");
while ($video = db_fetch_object($result)) {
$vnid = $video->nid;
$data = unserialize($video->serialized_data);
if (is_null($data['iid']) | $data['iid'] == "") {
$thumbpath = $tmp . "/" . $video->nid . ".jpg";
print t("Generating thumbnail for " . $vnid . ".\n");
//print t($ffmpeg . " -i " . $video->vidfile . " " . $options . " " . $thumbpath ."\n");
exec($ffmpeg . " -i " . $video->vidfile . " " . $options . " " . $thumbpath, $output);
print_r($output);
$img = image_create_node_from($thumbpath);
$imgnid = $img->nid;
$data['iid'] = $imgnid;
$data = serialize($data);
db_query("UPDATE {video} SET serialized_data = '%s' WHERE nid = %d", $data, $vnid);
} else {
print t("Skipping " . $vnid . ": iid is " . $data['iid'] . "\n");
}
}
?>