للتوافق مع متصفحات متعددة، يجب استخدام FFmpeg لتحويل .mov
إلى حاويتين مختلفتين: حاوية MP4 وحاوية WebM. ضِمن
بالممارسة العملية، ستحدد على الأرجح برنامج ترميز في الوقت ذاته. في الوقت الحالي،
فإننا نسمح لـ FFmpeg باستخدام الإعدادات الافتراضية.
إذا كانت هذه المفاهيم جديدة بالنسبة لك، ينبغي لك قراءتها أساسيات ملفات الوسائط قبل الذهاب إلى أبعد من ذلك. بالإضافة إلى ذلك، إذا لم يكن لديك FFmpeg مثبت، أساسيات تطبيق الوسائط لإعداده باستخدام Docker.
نحن نستخدم تثبيت Docker المقترح
ملف glocken.mov من إعداد ملفات الوسائط للويب
تمت إضافتها داخل دليل media
. استخدمنا الإصدار 4.3.2 من FFmpeg لجميع
الطلبات في هذا القسم.
الحاويات
أولاً، يجب إنشاء حاويتين من ملف .mov
باستخدام السمة .mp4
و.webm
امتداد ملف مع بث صوت وفيديو داخل الملف.
مراجعة أساسيات ملفات الوسائط
لمزيد من المعلومات حول الحاويات وساحات المشاركات إذا كنت لا تعرف الفرق بين
معهم.
MP4
/media # ffmpeg -i glocken.mov glocken.mp4
WebM
/media # ffmpeg -i glocken.mov glocken.webm
يستغرق تنسيق WebM وقتًا أطول من تنسيق MP4. وهذا ليس بمستغرب عندما تنظر إلى
النتائج. بينما يتم ضغط MP4 إلى حوالي 83%
من ملفات
الحجم، وانخفض حجم WebM إلى 78%
من حجم الملف الأصلي، ولكن يمكن أن يكون أصغر بكثير.
ستختلف نتائجك. من المهم الإشارة إلى أنّ برنامج FFmpeg 4.2.2
قد حدّد
يبلغ معدل نقل البيانات التلقائي للفيديو 200k
وفي 4.3.2
لم يضبط معدّل نقل بيانات تلقائي.
وبالتالي، لم يعُد الفيديو مجرد4%
محتوى أصلي. يمكنك الاطّلاع على هذه المعلومات بنفسك.
باستخدام أمر bash ls -a
في المجلد الذي تتوفّر فيه ملفات الوسائط.
على سبيل المثال:
/media # ls -l
-rw-r--r-- 1 root root 12080306 Mar 7 12:16 glocken.mov
-rwx------ 1 root root 10106446 Mar 7 12:33 glocken.mp4
-rwx------ 1 root root 9503301 Mar 7 18:30 glocken.webm
للحصول على ملف صغير، يمكنك القيام بذلك بدلاً من ذلك:
/media # ffmpeg -i glocken.mov -b:v 200k glocken.webm
...
frame= 300 fps=3.6 q=0.0 Lsize= 483kB time=00:00:10.01 bitrate= 395.0kbits/s speed=0.121x
video:359kB audio:117kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.356068%
/media # ls -l
-rw-r--r-- 1 root root 12080306 Mar 7 12:16 glocken.mov
-rwx------ 1 root root 10106446 Mar 7 12:33 glocken.mp4
-rwx------ 1 root root 494497 Mar 7 18:45 glocken.webm
التحقّق من عملك
للتحقق من النتائج، استخدم FFmpeg وShaka Packager كما هو موضح بالفعل في أساسيات تطبيق الوسائط:
/media # packager input=glocken.mp4 --dump_stream_info
/media # ffmpeg -i glocken.mp4
برامج الترميز
بعد ذلك، برنامج الترميز. كما هو موضح في أساسيات ملفات الوسائط، فإن برنامج الترميز
ليس هو نفسه الحاوية (نوع الملف). ملفان للحاوية نفسها
النوع الاحتفاظ بالبيانات مضغوطة باستخدام برامج ترميز مختلفة. على سبيل المثال،
تنسيق WebM
يسمح بترميز الصوت باستخدام Vorbis أو Opus. لتغيير برنامج الترميز الذي
ونستخدم FFmpeg. على سبيل المثال، يؤدي هذا الطلب إلى إخراج ملف .mkv
يتضمّن صوت vorbis
.
وبرنامج ترميز الفيديو av1
.
/media # ffmpeg -i glocken.mov -c:a vorbis -c:v av1 glocken.mkv
في هذا المثال، تُستخدم العلامة -c:a
و-c:v
لتحديد الصوت و
برامج ترميز الفيديو على التوالي.
تسرد صفحة تحويل الوسائط والأوامر اللازمة لتحويل برامج الترميز. تُلخص الجداول أدناه المكتبات المستخدمة في FFmpeg لإجراء عمليات تحويل برامج الترميز لملفات WebM وMP4. وهي التنسيقات المقترَحة لكل من DASH وHLS على التوالي.
فيديو
برنامج الترميز | الإضافة | المكتبة |
---|---|---|
av1 | WebM وmkv | libaom-av1 |
h264 | MP4 | libx264 |
vp9 | WebM | libvpx-vp9 |
الصوت
برنامج الترميز | الإضافة | المكتبة |
---|---|---|
ملف AAC | MP4 | ملف AAC |
أوبوس | WebM | ليبوبوس |
فوربيس | WebM | libvorbis |
سنشرح لك بعد ذلك كيفية تغيير معدل نقل البيانات للملفات التي تم إنشاؤها حديثًا.