PDA

View Full Version : سوال: تغییر اندازه ویدیو در سی شارپ



alish123456
چهارشنبه 09 اسفند 1396, 14:25 عصر
سلام.
چطور میتونم یه ویدیو که فرمتش هم mp4 هست رو تغیر اندازه بدم؟
درواقع میخوام ویدیو رو مربعی کنم. مثلا 500 در 500
توی نت سرچ کردم (انگلیسی) به نتیجه ای نرسیدم

وینفرم - سی شارپ

ramtinak
چهارشنبه 09 اسفند 1396, 15:48 عصر
سلام،
کلیه مبدل ها و پخش کننده ها از یک کتابخانه رایگان به اسم ffmpeg.exe استفاده می کنن، شما باید فایل این کامپوننت رو داخل پوشه نصبی برنامه ـتون قرار بدید.
این کتابخانه Command line هست. یعنی باید با استفاده از کد Process بهش دستور بدید!

کد تغییر سایز ویدیو در ffmpeg:
ffmpeg -i video_input.mp4 -vf scale=500:500 video_output.mp4 -hide_banner


video_input.mp4 باید مسیر ویدیوتون باشه که قرار هست تغییر سایز بدید.

video_output.mp4 هم مسیر ویدیو برای ذخیره فایل خروجی است.

scale هم سایزی هست که میخواهید، الان من گذاشتم روی 500 در 500.
کد سی شارپ:
Process process = new Process();process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.FileName = Application.StartupPath + @"\ffmpeg.exe";


process.StartInfo.Arguments = "-i video_input.mp4 -vf scale=500:500 video_output.mp4 -hide_banner";




process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.Start();

فضای نامی مورد نیاز:
using System.Diagnostics;

نسخه 32 بیتی ffmpeg:
https://ffmpeg.zeranoe.com/builds/win32/static/ffmpeg-20180227-fa0c9d6-win32-static.zip
فایل ffmpeg.exe که در پوشه بین این فایل فشرده هست رو باید کنار برنامه ـتون بذارید تا کد بالا کار کند.
اگه دنبال یادگیری بیشتر هستید:
http://www.bugcodemaster.com/article/changing-resolution-video-using-ffmpeg

https://mathewsachin.github.io/blog/2017/07/28/ffmpeg-pipe-csharp.html

موفق باشید.