دو فایل webm داشتم، یکی فقط حاوی ویدئو بود (بدون صدا) و یکی شامل صدا بود (بدون تصویر) می خواستم این دو فایل را با هم ترکیب کنم بهطوری که فقط یک فایل داشته باشم که شامل صدا و تصویر باشد.
وبام (به انگلیسی: WebM) یک قالب چندرسانهای است که برای ارائه یک فرمت ویدئویی آزاد و با کیفیت بالا برای استفاده در اچتیامال ۵ ارائه شدهاست. این پروژه توسط شرکت گوگل حمایت میشود.
دنبال راهی بودم که خیلی سریع و بدون نصب ابزارهای سنگین این کار را انجام دهم تا اینکه به ffmpeg رسیدم.
یک ابزار قدرتمند کراس پلتفرم خط فرمان برای کار با فایلهای صوتی و تصویری است. در ادامه نحوه انجام این کار با FFmpeg را توضیح میدهم:
به سایت FFmpeg مراجعه کنید.
نسخه مناسب سیستم عامل را دانلود و طبق دستورالعمل نصب کنید.
فرض کنید فایل ویدیویی شما به نام video.webm و فایل صوتی شما به نام audio.webm است.
اجرای دستور FFmpeg:
خط فرمان را باز کنید.
به مسیری که فایلهای WebM قرار دارند بروید یا مستقیماً مسیر فایلها را در دستور ذکر کنید.
از دستور زیر برای ترکیب فایلهای صوتی و تصویری استفاده کنید:
ffmpeg -i video.webm -i audio.webm -c:v copy -c:a copy output.webm
این دستور، فایل ویدیویی و صوتی را با هم ترکیب کرده و نتیجه را در فایل output.webm ذخیره میکند.
اگر فایلهای شما فرمتهای متفاوتی دارند (به عنوان مثال، ویدیو MP4 و صدا MP3 است)، باز هم میتوانید از FFmpeg برای این کار استفاده کنید، فقط ممکن است نیاز به تغییر کدکها داشته باشید.
پارامتر i: ورودی فایلها (ویدیو و صدا)
پارامتر c:v copy: کپی مستقیم دادههای ویدیویی بدون تغییر (بدون کدگذاری مجدد)
پارامتر c:a copy: کپی مستقیم دادههای صوتی بدون تغییر (بدون کدگذاری مجدد)
این دستور از کدگذاری مجدد جلوگیری میکند و فقط محتوای ویدیو و صدا را ترکیب میکند، که این باعث میشود فرایند بسیار سریع باشد.