اذهب إلى المحتوى
  • 0

ما هي مكتبة FFmpeg وكيف أستفيد منها في موقعي في تعديل ملفات الفيديو

فاديا جميل

السؤال

Recommended Posts

  • 0

لتنصيب المكتبة على نظام لينوكس / اوبنتو علينا استخدام sudo مع تنفيذ الأوامر:

sudo apt update
sudo apt install ffmpeg

للتأكد من الإصدار
ffmpeg -version

استعمالاتها، تغيير نمط الفيديو vedio / صيغة الفيديو وملفات الصوت audio:

  • مثلا من mp4 إلى webm
  • من mp3 إلى ogg
ffmpeg -i vedio.mp4 vedio.webm

ffmpeg -i audio.mp3 audio.ogg

تدعم استخدام ترميز خارجي مثل libopus , libvorbis

التحكم بمعدل البيانات bitrate:

64 kbit/s:

ffmpeg -i vedio.avi -b:v 64k -bufsize 64k vedio.avi

التحكم بمعدل عد الإطارات:

frame rate / FPS to 24 fps:

ffmpeg -i vedio.avi -r 24 vedio.avi

كما يمكن تعديل بيانات توصيف الفيديو metadata بتغيير العنوان أو اللغة 

ffmpeg -i in.avi -metadata title="my title" out.flv
ffmpeg -i INPUT -metadata:s:a:0 language=eng OUTPUT

****

وضمن المشروع بافتراض استعمال php 

require 'vendor/autoload.php';

$ffmpeg = FFMpeg\FFMpeg::create();   إنشاء غرض
$video = $ffmpeg->open('video.mpg');  تحديد ملف الفيديو


# اقتطاع أول 10 ثواني
$video
    ->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(10))
    ->save('frame.jpg');
    
# تصدير الفيديو لعدة صيغ مختلفة
$video
    ->save(new FFMpeg\Format\Video\X264(), 'export-x264.mp4')
    ->save(new FFMpeg\Format\Video\WMV(), 'export-wmv.wmv')
    ->save(new FFMpeg\Format\Video\WebM(), 'export-webm.webm');

قطع قسم من الفيديو باستخدام CLIP

$clip = 
	$video->clip(FFMpeg\Coordinate\TimeCode::fromSeconds(30),  # بداية 15
		FFMpeg\Coordinate\TimeCode::fromSeconds(15));          # المدة 30

$clip->save(new FFMpeg\Format\Video\X264(), 'video.avi'); 

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

تعتبر أداة FFmpeg حل متعدد المنصات لتسجيل وتحويل وبث الصوت والفيديو و تعديله , و لذلك قد تتغير طريقة الإستعمال أو سياقها بتغير تفاصيل الواجهة الخلفية لموقعك مثلا . فكثير من الإضافات و الملحقات توفر واجهات سهلة للإستعانة بخدمات المكتبة و أدواتها في كثير من اللغات .

فعلى سبيل المثال في php , و بإستعمال مكتبة PHP-FFMpeg/PHP-FFMpeg يتم تعديل حجم فيديو كالتالي : 

$video->filters()->resize($dimension, $mode, $useStandards);


// example :
$video->filters()->resize(new FFMpeg\Coordinate\Dimension(320, 240))

 كما يمكن إضافة علامة مائية كالتالي : 

$video
    ->filters()
    ->watermark($watermarkPath, [
        'position' => 'relative',
        'bottom' => 50,
        'right' => 50,
    ]);

يمكنك القراءة أكثر عن توثيق المكتبة هنا

كما تتوفر على أداة command Line كاملة , يمكنك الإطلاع على توثيقها مفصلا هنا .   

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...