什么是最好的获取方式?

我有一个用户将在其中上传视频的字段。

当您单击上传按钮时,视频将被上传。这完美地工作。

我需要从物理路径上观看视频的持续时间,我尝试过:

using WMPLib;
WindowsMediaPlayer wmp = new WindowsMediaPlayerClass();
IWMPMedia mediaInfo = wmp.newMedia(Server.MapPath("~/Uploads/test.mp4"));
double duration = mediaInfo.duration;

但是它不起作用,我得到了错误:



如何捕捉持续时间?

最佳答案

您可以使用以下nuget软件包:

Install-Package Xabe.FFMpeg

我正在尝试使跨平台的FFmpeg包装器易于使用。

您可以在Xabe.FFmpeg上找到关于此的更多信息。
IMediaInfo mediaInfo = await MediaInfo.Get("videofile.mkv");
var videoDuration = mediaInfo.VideoStreams.First().Duration;

有关在以下位置获取视频文件的持续时间的更多信息:
https://xabe.net/product/xabe_ffmpeg/#documentation

10-08 15:05