我正在做一个项目,本质上是一个面向旅行者社区的社交媒体应用。在这个应用中,用户可以上传任何格式的视频,但我需要将它们保存为 MP4 格式,以便任何浏览器都可以播放它们。
我从一个网站下载了各种格式的视频https://www.quickpickdeal.com/tag/download-sample-videos并安装了 FFmpeg 以将视频转换为 MP4 格式。对于后端,我使用的是 ASP.NET Core。目前,我使用以下代码将 MKV 视频转换为 MP4。
//path where you want to save your converted video
string cmd = " -i " + input + " -acodec aac -strict experimental -ac 2 -ab 128k -vcodec libx264 -f mp4 -crf 22 -s 640x360 " + output;
var processInfo = new ProcessStartInfo(ffmpegFilePath, cmd)
{
UseShellExecute = false,
CreateNoWindow = true,
RedirectStandardOutput = true,
RedirectStandardError = true
};
但我不确定如何为命令编写通用逻辑,以便它可以将任何格式的视频转换为 MP4,并且只保留视频的第一分钟。
有人可以建议我如何完成这些任务吗?
答案1
在命令中添加“-to 00:01:00”。例如:
string cmd = " -i " + input + "-to 00:01:00 -acodec aac ......
您可以通过添加 -ss 来选择起点:
string cmd = "-ss 00:03:00 -i " + input + "-to 00:01:00 -acodec aac ......