حسین احمدی
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

آموزش استفاده از ffmpeg در سی شارپ برای بریدن ویدیوها

ffmpeg ابزاری است که بوسیله آن می توانید کارهای مختلی را بر روی فایل های صوتی یا تصویری انجام بدید. یکی از این کارها بریدن بخشی از یک ویدیو است.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

برای یادگیری و آموزش سی شارپ ( آموزش زبان برنامه نویسی سی شارپ ) رایگان به این لینک بروید

برای استفاده از ffmpeg ابتدا آن را از طریق این لینک دانلود کنید. ffmpeg به صورت پیش فرض قابل استفاده از طریق cmd یا power shell است. برای بریدن بخشی از یک ویدیو بوسیله ffmpeg کافی است دستور زیر را در خط فرمان اجرا کنیم:

ffmpeg -ss 00:00:00 -i "C:\Input.mp4" -t 00:03:00 -c copy -f mp4 "C:\output.mp4"

سویچ های استفاده شده در این دستور:

  1. -ss: موقعیت ویدیو برای پردازش رو مشخص میکنه که ما اینجا نقطه شروع ویدیو رو مشخص کردیم
  2. -i: فایل ورودی برای پردازش رو مشخص میکنه
  3. -t: مقدار زمان ویدیو رو مشخص میکنه که ما اینجا 3 دقیقه مشخص کردیم
  4. -c: برای مشخص کردن codec ویدیو استفاده میشه که اینجا از copy استفاده شده به معنی codec ویدیو اصلی
  5. -f: فرمت فایل خروجی یا ورودی مشخص میکنه که اینجا ما فرمت mp4 رو برای فایل خروجی مشخص کردیم و در انتها نام فایل خروجی مشخص شده

حالا چطور میشه از این دستور در سی شارپ استفاده کرد؟ بوسیله کلاس Process و به راحتی هر چه تمام تر. کافیه به صورت زیر از این دستور در سی شارپ استفاده کنیم:

var inputPath = "c:\\input.mp4";
var outputPath = "c:\\output.mp4";
var proc = new Process { StartInfo = { FileName = "c:\\ffmpeg\\ffmpeg.exe" } };
var mediaPath = filePath;
proc.StartInfo.Arguments = "-ss 00:00:00 -i \"" + inputPath + "\" -t 00:03:00 -c copy -f mp4 \"" + outputPath + "\"";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.Start();
proc.WaitForExit();

با اجرای کد بالا، 3 دقیقه ابتدایی از فایل input.mp4 جدا شده و با نام output.mp4 ذخیره می شود


حسین احمدی
حسین احمدی

بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...

نظرات