ساخت تصویر پیش نمایش (بند انگشتی) از ویدیوی بارگذاری شده

iar11

New Member
سلام.
من می‌خواستم وقتی کاربر، ویدیویی رو در سایت آپلود می‌کنه به صورت اتوماتیک از ویدیو یک تصویر پیش نمایش ساخته و ذخیره بشه؟
اگر راه حل این کار و روش انجام‌ش رو بهم بگید ممنون می‌شم.
با تشکر
 

Masoud1365

مدیر انجمن
این نمونه رو ببینید !
PHP:
<?php

 /**
 * @author Masoud
 * @copyright 2011
 */
 
// where ffmpeg is located, such as /usr/sbin/ffmpeg
$ffmpeg = 'ffmpeg';
 
// the input video file
$video  = dirname(__FILE__) . '/demo.mpg';
 
// where you'll save the image
$image  = dirname(__FILE__) . '/demo.jpg';
 
// default time to get the image
$second = 1;
 
// get the duration and a random place within that
$cmd = "$ffmpeg -i $video 2>&1";
if (preg_match('/Duration: ((\d+):(\d+):(\d+))/s', `$cmd`, $time)) {
    $total = ($time[2] * 3600) + ($time[3] * 60) + $time[4];
    $second = rand(1, ($total - 1));
}
 
// get the screenshot
$cmd = "$ffmpeg -i $video -deinterlace -an -ss $second -t 00:00:01 -r 1 -y -vcodec mjpeg -f mjpeg $image 2>&1";
$return = `$cmd`;
 

echo 'done!';
 
?>
 

iar11

New Member
این نمونه رو ببینید !
PHP:
<?php

 /**
 * @author masoud
 * @copyright 2011
 */
 
// where ffmpeg is located, such as /usr/sbin/ffmpeg
$ffmpeg = 'ffmpeg';
 
// the input video file
$video  = dirname(__file__) . '/demo.mpg';
 
// where you'll save the image
$image  = dirname(__file__) . '/demo.jpg';
 
// default time to get the image
$second = 1;
 
// get the duration and a random place within that
$cmd = "$ffmpeg -i $video 2>&1";
if (preg_match('/duration: ((\d+):(\d+):(\d+))/s', `$cmd`, $time)) {
    $total = ($time[2] * 3600) + ($time[3] * 60) + $time[4];
    $second = rand(1, ($total - 1));
}
 
// get the screenshot
$cmd = "$ffmpeg -i $video -deinterlace -an -ss $second -t 00:00:01 -r 1 -y -vcodec mjpeg -f mjpeg $image 2>&1";
$return = `$cmd`;
 

echo 'done!';
 
?>

خیلی ممنون. فقط میشه یه توضیح کوچولو در موردش بدی :)
 

Masoud1365

مدیر انجمن
یه سری متغیر هست که ست میکنید ( توی کامنهاش نوشته چی هست ! ) .
بعدش یه کامند هست که باید بفرستید تا عکس رو بگیره و ذخیره کنه !
 

Domanjiri

Well-Known Member
سلام

کدش رو که مسعود گذاشت، توضیحش رو من بدم:) [ رخصت! ]
شاید اینایی که میگم رو بدونی (منظورم iar11 ئه !) ولی من نمی دونم که میدونی یا نه!!

ببین عزیزم، شما برای اینکار باید یه نرم افزاری که بتونه با فایل های تصویری کار کنه رو روی سرور نصب کنی. Adobe یه نرم افزار برای این کار داره، ولی خُب پولیه و کیه که بخواد پول خرج کنه:green:

ffmpeg یه برنامه کدباز ( و صد البته رایگان!) ئه که بر روی سرور نصب میشه و کار اون برنامه Adobe رو به طرز خفنی(!) انجام میده. کلی قابلیت داره، ازضبط (ریکورد) فایل های صوتی و تصویری و تغییر دادن فرمت اونها تا همین کاری که شما می خوای باهاش انجام بدی.

این کدی که مسعود خان گذاشته هم روی سروری اجرا میشه که ffmpeg روش نصب شده باشه.

وقتی ffmpeg رو نصب کردی (یا رفتی روی سروری که نصب شده روش!) اونوقت:
یه سری متغیر هست که ست میکنید ( توی کامنهاش نوشته چی هست ! ) .
بعدش یه کامند هست که باید بفرستید تا عکس رو بگیره و ذخیره کنه !
absolutely!

موفق باشی
 
آخرین ویرایش:

amirepsilon

Active Member
یعنی با این پلاگینی که شما میگید، میشه مثلا mp3 رو به wav تبدیل کنه ؟ یا کارهایی از این قبیل ؟
اونوقت به سرور فشار نمیاد ؟

نکته : حواب های مسعود معمولا کوتاه و نامفهومه (یعنی مدیره!)
 

Domanjiri

Well-Known Member
ffmpeg پلاگین نیست، یه برنامه کامل ئه!

مثلا mp3 رو به wav تبدیل کنه ؟ یا کارهایی از این قبیل ؟
اونوقت به سرور فشار نمیاد ؟
بله، انجام اینکار با نیم خط دستور انجام میشه!! این که شما سوال می پرسی که به سرور فشار نمیاد، مثل اینه که من بپرسم: شما وقتی موزیک روی سیستم ِت پخش می کنی، به کامپیوترت فشار نمیاد؟! خُب کار سیستم شما اینه که نیاز شما (پخش موزیک) رو برطرف کنه، نخریدینش که بزارین خاک بخوره!

پیروز باشی
 

Masoud1365

مدیر انجمن
نکته : حواب های مسعود معمولا کوتاه و نامفهومه (یعنی مدیره!)
:wink:
آخه میدونی چیه ؟
خدائیش بیا ببین کلا من تو این انجمن خیلی دست تنها هستم ! کلی سوال میپرسن و هیچکی هم جواب نمیده ! ( البته به جز تعداد کمی مثل Domanjiri ) منم مجبورم یه سر نخ بدم تا کاربر خودش سرچ کنه !
یا وقتی یک کد رو میزارم دیگه نمیتونم بیام کدها رو خط به خط توضیح بدم میگم که این کد فلان کارو میکنه حالا واسه توضیحش دیگه سرچ بزنید .
به هر حال بازم ببخشید اگه توضیحات کمه :rose:
 

Domanjiri

Well-Known Member
:wink:
آخه میدونی چیه ؟
خدائیش بیا ببین کلا من تو این انجمن خیلی دست تنها هستم ! کلی سوال میپرسن و هیچکی هم جواب نمیده ! ( البته به جز تعداد کمی مثل Domanjiri ) منم مجبورم یه سر نخ بدم تا کاربر خودش سرچ کنه !
یا وقتی یک کد رو میزارم دیگه نمیتونم بیام کدها رو خط به خط توضیح بدم میگم که این کد فلان کارو میکنه حالا واسه توضیحش دیگه سرچ بزنید .
به هر حال بازم ببخشید اگه توضیحات کمه :rose:

خواستم بگم که اگه من دکمه «تشکر» رو زدم ،منظورم تایید حرفای مسعود بود.
واقعن بعضی موقع ها ما یادمون میره که طرف مقابل هم یه انسان هست و برای اون هم (احتمالن!) یک شبانه روز فقط و فقط 24 ساعته!

[صادقانه میگم] دست ِتون درد نکنه و واقعن خسته نباشید.:rose:
 

mohialden

New Member
با سلام.ببخشيد ايا كسي هست طرز راه اندازي flvtools2 رو بلد باشد ما روي سيستم سايت فقط از ffmpeg استفاده كرده ايم كه خوب نمي تواند ويدئو ها رو ازشون عكس بگيرد.ايا كسي بلده flvtools رو راه اندازي كند.با ايميل زير تماس بگيرد هر چقدر هم هزينه بخواهد تقديم مي كنيم باتشكر
[email protected]
 

جدیدترین ارسال ها

بالا