c# - 如何根据时间或百分比剪切/裁剪/修剪视频并将输出保存在不同的文件中

标签 c# .net video wrapper video-capture

是否有任何教程或 c# 库可以帮助我完成以下任务

  1. 选择要编辑的文件
  2. 要求用户选择剪切/裁剪/修剪方法:- 按时间或按百分比
  3. 按选择的时间或百分比剪切/裁剪/修剪视频(说我希望 将 5 分钟的视频缩减为 4 分钟的视频,或将视频缩减 80%)
  4. 按要求将视频保存到指定路径

现在步骤 1) 和 4) 我已经实现了但是找不到一个好的 c# 库来完成 3) 和 4)

我查找了 ffmpeg 库,但找不到一个好的 C# 包装器来满足要求。

最佳答案

ffmpeg 是一个非常强大的应用程序,我已经使用了很多次,甚至是从 C# 开始的。您不需要 C# 包装器库。您所要做的就是使用以下命令从 C# 执行 ffmpeg 命令:

System.Diagnostics.Process.Start(字符串文件名,字符串参数);

或者在需要时使用 System.Diagnostics.ProcessStartInfo 重定向标准输出。

这篇文章解释了如何使用System.Diagnostics来执行同步和异步命令等。
http://www.codeproject.com/KB/cs/Execute_Command_in_CSharp.aspx

这是一个简单示例,说明如何使用 C# 中的 ffmpeg 将视频文件缩减到前 4 分钟。

using System.Diagnostics
Process.Start("ffmpeg.exe",
              "-sameq -t 240 -i InputVideoFile.avi OutputVideoFile.avi");

这是一个如何使用 System.Diagnostics.ProcessStartInfo
的 SO 示例 C# and FFmpeg preferably without shell commands?

网上有很多资源解释了ffmpeg的所有特性以及如何使用它们,搜索即可。

关于c# - 如何根据时间或百分比剪切/裁剪/修剪视频并将输出保存在不同的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5041910/

相关文章:

audio - FFMPEG - ffmpeg lib 中是否有任何可用的函数支持从编解码器/编解码器 ID 获取音频文件扩展名?

c# - IOException 使用 .NET 将大文件从 UNC 路径读取到字节数组中

c# - 无法实现数组均值的递归方法

c# - 如何在 Windows Phone 上合并 2 个图像

.net - 将 .NET 项目从非托管项目切换到托管 ODP.NET 程序集时出现问题

animation - ffmpeg 动态缩小视频(向后挤压)或缩小到小于原始视频

c++ - 如何逐像素填充AvFrame

c# - IIS下找不到CSharpCodeProvider CompileAssemblyFromSource文件

c# - 从文件夹中删除文件

c# - 仅打印小数值