java ffmpeg 处理视频 根据毫秒值 截取帧

本文介绍了如何在Java项目中利用FFmpeg库,根据指定的毫秒值精确地从视频中截取帧。通过引入Maven依赖并编写相关代码,实现了高效的视频处理功能。
摘要由CSDN通过智能技术生成

##1.导入maven依赖

 	<dependency>
            <groupId>org.bytedeco</groupId>
            <artifactId>javacv</artifactId>
            <version>1.4.1</version>
        </dependency>
        <dependency>
            <groupId>org.bytedeco</groupId>
            <artifactId>javacpp</artifactId>
            <version>1.4.1</version>
        </dependency>
        <dependency>
            <groupId>org.bytedeco.javacpp-presets</groupId>
            <artifactId>opencv-platform</artifactId>
            <version>3.4.1-1.4.1</version>
        </dependency>
        <dependency>
            <groupId>org.bytedeco.javacpp-presets</groupId>
            <artifactId>ffmpeg-platform</artifactId>
            <version>3.4.2-1.4.1</version>
</dependency>

2.代码

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 JavaFFmpeg 库来从网络视频地址中抽取。下面是一个简单的示例代码: ```java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class FFmpegFrameExtractor { public static void main(String[] args) { String videoUrl = "YOUR_VIDEO_URL"; String outputFolder = "OUTPUT_FOLDER_PATH"; String ffmpegPath = "FFMPEG_EXECUTABLE_PATH"; try { // 构建 FFmpeg 命令 String command = ffmpegPath + " -i " + videoUrl + " -vf \"select=eq(pict_type\\,I)\" -vsync vfr " + outputFolder + "/frame-%03d.jpg"; // 执行命令 Process process = Runtime.getRuntime().exec(command); // 读取命令输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } process.waitFor(); System.out.println("抽完成!"); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } } } ``` 请注意,你需要将 `YOUR_VIDEO_URL` 替换为你的网络视频地址,`OUTPUT_FOLDER_PATH` 替换为希望保存抽取的的文件夹路径,以及 `FFMPEG_EXECUTABLE_PATH` 替换为你的 FFmpeg 可执行文件的路径。 该代码使用 `Runtime.getRuntime().exec()` 方法执行 FFmpeg 命令,并通过读取命令输出来获取进程信息。在这个例子中,我们使用了 FFmpeg 的 `-vf` 参数来选择只提取关键,`-vsync vfr` 参数用于在不丢的情况下提取所有关键。抽取的将以 `frame-001.jpg`,`frame-002.jpg` 等命名,并存储在指定的输出文件夹中。 请确保你已经正确安装并配置了 FFmpeg,并将其可执行文件路径设置为 `FFMPEG_EXECUTABLE_PATH`。 希望这可以帮助到你!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值