如何通过 C# 获取 mp4 媒体文件的持续时间

发布于 2024-12-10 11:51:20 字数 56 浏览 0 评论 0原文

我知道 mp4 媒体文件大小,如何通过文件大小计算文件持续时间? (C#)

谢谢。

As I know a mp4 media file size, how could i calculate the file duration through file size? (C#)

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

寂寞美少年 2024-12-17 11:51:20

使用 ffmpeg 命令行并让它报告您的文件属性。

Use ffmpeg command line and have it report your file properties.

香橙ぽ 2024-12-17 11:51:20

您可以查看文件中的 ID3 元数据标签。您应该使用 TagLib Sharp 从 mp3 读取 ID3 标签/mp4 文件。

You may look at ID3 Metadata Tags in the file. You should use TagLib Sharp for read ID3 tags from mp3/mp4 files.

若有似无的小暗淡 2024-12-17 11:51:20

我使用 NReco.VideoInfo 库 可以轻松实现此目的。这很简单,只需为库提供一个文件路径,它就会输出元数据:

var ffProbe = new FFProbe();
var videoInfo = ffProbe.GetMediaInfo(blob.Uri.AbsoluteUri);
return videoInfo.Duration.TotalMilliseconds;

I use the NReco.VideoInfo library to achieve this very easily. It's a simple as giving the library a file path and it spits out the metadata:

var ffProbe = new FFProbe();
var videoInfo = ffProbe.GetMediaInfo(blob.Uri.AbsoluteUri);
return videoInfo.Duration.TotalMilliseconds;
倾`听者〃 2024-12-17 11:51:20

阅读此内容: https://web.archive .org/web/20121130070329/http://neuron2.net/LVG/ratesandsizes.html 我想也许你可以大约使用文件中的元数据,根据计算基于比特率的格式的文件大小部分中提出的方程求解秒数。

编辑:根据 @BrentRittenhouse 的建议更改了 URL。

Reading this: https://web.archive.org/web/20121130070329/http://neuron2.net/LVG/ratesandsizes.html I think perhaps you can approximately solve the number of seconds from the equation presented in the section Calculating the File Size of a Bitrate-Based Format using the metadata from the file.

Edit: URL changed as a suggestion by @BrentRittenhouse.

天荒地未老 2024-12-17 11:51:20

如果您运行的是 Windows,那么这里有一个批处理文件可以提供帮助

@echo off
SET _cmd=ffprobe -show_format FILENAME.mp4
FOR /f "tokens=1 delims=:" %%G IN ('%_cmd%')  DO echo Tag-- %%G

If you are running Windows, then here is a batch file that can help

@echo off
SET _cmd=ffprobe -show_format FILENAME.mp4
FOR /f "tokens=1 delims=:" %%G IN ('%_cmd%')  DO echo Tag-- %%G
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文