كيفية تنفيذ برنامج دمج الفيديو والصوت؟
-
01-10-2019 - |
سؤال
أرغب في عمل برنامج يأخذ الفيديو والصوت ويدمجها. نوع الفيديو أو نوع الصوت ليس مهمًا بالنسبة لي. كيف يمكنني صنع هذا؟ هل توجد أي مكتبة لهذا؟ أعلم أن هناك العديد من البرامج حول هذا الموضوع ، لكنني أريد أن أتعلم كيفية تنفيذ مثل هذا البرنامج.
المحلول
المصطلح الفني لما تحاول القيام به هو "تعدد الإرسال"، ويشار إليها عادة باسم"muxing'.
FFMPEG هي أداة سطر أوامر متعددة الأداء تقوم بذلك ، وتُقابل معيار الصناعة. العديد من المشاريع لف FFMPEG في المكتبات ووزارة العملاء.
FFMPEG هو أيضًا مفتوح المصدر ، بحيث يمكنك تنزيل الكود ومعرفة كيف قاموا بذلك. هذا siad ، إنه كبير جدًا ومعقد.
إذا كنت مهتمًا بالميكانيكا الفعلية لملفات الصوت والفيديو المنفصلة معًا في ملف وجهة ، فستحتاج إلى معرفة الكثير عنها تنسيقات الحاوية و برامج الترميز.
نصائح أخرى
انظر إلى نوع من غلاف FFMPEG في C#.
هناك طريقة سهلة لتعدد الصوت والفيديو على Linux هو الاستخدام gstreamer. إليك خط أنابيب A/V يمكنك إنشاؤه باستخدام GST -Anch على موجه Shell.
filesrc location=file1.vid ! queue ! mux. filesrc location=file2.aud ! queue ! mux. avimux name=mux ! filesink location=output.avi
استبدل file1.vid باسم ملف الفيديو المشفر و File2.aud باسم ملف الصوت المشفر. output.avi هو ملف الحاوية الذي تحتاجه.