FFmpeg 获取视频文件时长 或偶现没有运行权限

实战# 作为AI公司,少不了和视频打交道。这是我的一个经历,按照Windows和Linux系统来说:

集成过程

1.下载ffmpeg静态库(使用方便,不用额为集成其他环境依赖,比较小)

2.集成:解压后并设置patch环境变量(类似配置 jdk 和 Python)

docker:

Linux :命令:sudo apt-get install ffmpeg   其他步骤都一样

Windows:

springboot 集成:当然你也可以用 Javacv ,我这里用了 :ws.schild

使用中遇到的问题:

1.偶现没有权限=》 需要给 ffmpeg静态库 足够权限,你也可以重新压缩。

2.超过2g在线解析非常慢 =》内网下载本地解析(必须下载全,因为视频头信息可能在视频的任何部位,这块我深入研究过,比如我下载前 10s视频,有的就无法解析到视频头信息)

3.超过2g直接下载到本地解析

示例:

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 用FFmpeg获取视频时长的方法是通过执行命令行指令来实的。下面是一种使用FFmpeg获取视频时长的方法: 首先,打开命令行终端。 然后,进入FFmpeg的安装路径,使用cd命令切换到对应的目录下。 接下来,执行以下命令来获取视频时长: ```shell ffmpeg -i 视频文件路径 ``` 其中,视频文件路径是指待获取时长视频文件的完整路径。例如: ```shell ffmpeg -i C:\videos\test.mp4 ``` 执行上述命令后,FFmpeg会输出一系列信息,其中包含了视频时长信息。时长信息一般以"Duration: HH:MM:SS.XX"的格式显示,其中HH表示小时,MM表示分钟,SS表示秒,XX表示毫秒。 最后,根据输出的信息中找到时长信息,即可获取视频时长。 需要注意的是,上述方法中的FFmpeg是一个开源的多媒体处理工具,需要提前安装在计算机上,并且配置好环境变量,以便在命令行终端中直接使用FFmpeg命令。如果没有安装或配置成功FFmpeg,上述命令将无法执行。 ### 回答2: 使用ffmpeg获取视频时长可以通过以下命令: ``` ffmpeg -i 视频文件路径 ``` 其中,视频文件路径是待处理视频的完整路径。 执行该命令后,ffmpeg会输出视频的相关信息,包括视频时长时长信息一般在输出信息中可以找到类似下面的行: ``` Duration: 00:01:23.45 ``` 其中,00表示小时,01表示分钟,23表示秒,45表示毫秒。这个例子表示视频时长是1小时23分钟45秒。 除了使用命令行来获取视频时长,你也可以使用ffmpeg的API来实。下面是一个C语言的示例代码: ``` #include <stdio.h> #include <libavformat/avformat.h> int main() { av_register_all(); AVFormatContext *formatContext = avformat_alloc_context(); int ret = avformat_open_input(&formatContext, "视频文件路径", NULL, NULL); if (ret != 0) { printf("无法打开视频文件\n"); return -1; } ret = avformat_find_stream_info(formatContext, NULL); if (ret < 0) { printf("无法获取流信息\n"); return -1; } int durationInSeconds = formatContext->duration / AV_TIME_BASE; int hours = durationInSeconds / 3600; int minutes = (durationInSeconds % 3600) / 60; int seconds = durationInSeconds % 60; printf("视频时长:%02d:%02d:%02d\n", hours, minutes, seconds); avformat_close_input(&formatContext); return 0; } ``` 在代码中,你需要将“视频文件路径”替换为待处理视频的完整路径。执行代码后,会输出视频时长,格式为HH:MM:SS。 以上是使用ffmpeg获取视频时长的方法。希望可以帮到你! ### 回答3: 使用FFmpeg获取视频时长可以通过以下步骤实: 1. 安装FFmpeg:首先需要在计算机上安装FFmpeg软件,可以从官方网站或其他可信源获取安装包,并按照指引进行安装。 2. 打开命令提示符或终端:使用Windows操作系统的用户可以按下Win+R键,然后在运行对话框中输入“cmd”并按下回车键打开命令提示符;使用Linux或Mac操作系统的用户可以直接打开终端。 3. 导航到FFmpeg所在目录:在命令提示符或终端中输入FFmpeg所在的目录路径,例如:cd C:\ffmpeg\bin,然后回车。 4. 使用FFmpeg命令获取视频时长:接下来,在命令提示符或终端中输入以下命令并回车: ffmpeg -i 视频文件路径 将"视频文件路径"替换为实际视频文件的路径和文件名。例如,如果视频文件名为"example.mp4",并且位于桌面上,则命令为: ffmpeg -i C:\Users\Username\Desktop\example.mp4 5. 查看视频时长:完成上述步骤后,FFmpeg将会输出包含视频信息的文本。在输出的文本中,可以找到视频时长的信息,一般以"time"为关键词标识。视频时长的表示格式通常为"00:00:00.000",其中前两个数字表示小时、中间两个数字表示分钟,最后两个数字表示秒。 综上所述,通过安装FFmpeg并在命令提示符或终端中运行相应命令,即可获取视频时长信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值