通过ffmpeg获取视频时长
通过Java获取视频时长,可以通过jave和ffmpeg这两种工具来获取,jave和ffmpeg都能拿到本地视频文件的时长,可如果是播放视频URL,就只能通过ffmpeg来获取.
现在视频文件基本上都是放到CDN上的,不太可能把文件下下来再逐个获取视频时长,在解决这个问题的时候,曾看到浏览器可以直接获取在线视频的播放时长,因此你可以将数据库的视频文件地址放到浏览器页面上,循环获取视频时长,效率也快(总比你下载要快的多吧),可这里有个前提,就是你必须借助浏览器来获取视频时长,你必定的打开一个页面吧.如果你想一次性更新数据库的视频文件,搞个临时的程序也不错,之后再上传的视频文件先拿到时长,在存进去也不错.但我们能不能搞个东西像浏览器一样,只需拿到视频文件的数据头就能拿到视频时长等信息,答案是可以的.
这就是ffmpeg了,不得不说ffmpeg的功能很多,但我们只想通过它获取视频地址时长.个人在解决这个问题的时候真的有瞎猫碰上死耗子的赶脚.因为在网上查的ffmpeg的命令语法,还真没有测试在线视频的这种,我执行将本地文件路径换成视频文件地址,没想到是可以的.
获取视频信息的dos命令语法:"ffprobe 资源地址",资源地址可以是本地视频文件绝对路径,也可以是http协议的视频文件地址都可以.知道这个命令就能通过java调用外部程序来获取命令执行结果.可是这里也出问题了,你在dos执行命令可以很清晰的看到这个命令返回的视频信息.可是到java就是拿不到(通过ipconfig命令可以很容易拿到),要不咋说这玩意不走寻常路呢,正常的输出信息都会在执行的输出流中,可人家把信息输出到错误输出流.这里哔哔了,不多说直接上代码.
execDos方法:
其中"IOUtils"是apache工具包的数据流读取工具类,你可以替换成自己的数据流读取.其他没什么.
还有就是不论你在Linux还是windows都需要安装ffmpeg软件,windows比较容易,直接下载解压,将软件bin目录放到混进变量中,Linux需要下载源码编译安装,编译时间比较长(大概半小时吧),make安装后不需要配置环境变量的.这里给出ffmpeg官网地址:http://ffmpeg.org/
关于Linux上安装ffmpeg,这里不在多数,网上有很多这样的教程.
通过ffmpeg获取视频时长相关推荐
- Java通过FFMPEG获取视频时长
2019独角兽企业重金招聘Python工程师标准>>> Java通过FFMPEG获取视频时长 详见https://www.yz1618.cn/view/19 转载于:https:// ...
- ffmpeg获取视频时长和分辨率
文章目录 ffmpeg获取视频文件时长和分辨率 获取视频时长 获取视频分辨率 ffmpeg获取视频文件时长和分辨率 获取视频时长 import os import subprocess# video_ ...
- java ffmpeg 获取视频时长_Java通过调用FFMPEG获取视频时长
FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.采用LGPL或GPL许可证.它提供了录制.转换以及流化音视频的完整解决方案.它包含了非常先进的音频/视频编解码库l ...
- java如何截取视频文件_Java获取视频时长及截取帧截图详解
前言 只是最近碰到有这方面的项目需求,所以简单 Mark 下本文.下面的示例是参考过他人分享的文章,之后本人再自行实践.调整和测试过的,希望对有这方面需求的人有所帮助. 示例 添加依赖 org.byt ...
- 使用ffmpeg调整视频时长倍速
简介:通过ffmpeg调整视频时长,既可以尽量因调整视频时长引起的对视频质量的侵害,也能避免使用第三方工具收费或者广告问题,从而更干净安全的获取目标视频时长转换. 相关攻略: 利用ffmpeg将avi ...
- Python 获取视频时长(附代码) | Python工具
目录 前言 环境依赖 代码 总结 前言 本文提供获取视频时长的python代码,精确到毫秒,一如既往的实用主义. 环境依赖 ffmpeg环境安装,可以参考我的另一篇文章:windows ffmpeg安 ...
- php 判断视频时长,php 获取视频时长
利用ffmpeg只能获取到本地视频的信息. function video_time($file) { ob_start(); passthru(sprintf(FFMPEG_PATH, $file)) ...
- java获得U盘根目录、读取图片视频头文件信息、获取视频时长
1.获得U盘根目录,例如我们取名U盘名称为"测试U盘",一般插入U盘后,在系统的H盘 /** * 得到系统U盘根目录 */ public String findURootPath( ...
- uni-app小程序如何获取视频时长
uni-app小程序如何获取视频时长 从网上搜寻了一下发现都没有单纯获取视频时长的方法,于是只能自己研究一下了 uni-app和小程序都提供了video组件,却发现并没有提供获取视频时长属性或方法, ...
最新文章
- 受用一生的高效PyCharm使用技巧
- R语言计算回归模型的SST、SSR以及SSE指标实战
- Linux Socket编程的一些总结
- msf生成linux shellcode,MSF-Shellcode生成和使用
- 如何找出nginx配置文件的所在位置?
- 修复bug的12个关键步骤:
- 转载:Apache commons开源工具简介
- 380免费云存储_三款功能强大的云盘软件,完全替代百度云与腾讯云
- javaScript从入门到精通3.md
- 视频教程-CCNA视频----从零开始学CCNA实验视频课程(加强版)-思科认证
- 公众号H5运营如何激发用户的打开H5商城欲望?
- 华三基础命令(单臂,超级vlan,远程,聚合)
- Android蓝湖图片格式,蓝湖「自动切图」新增 JPG、PDF、WebP 格式
- 微信、企业微信分享按钮隐藏问题
- 电脑风扇狂转,声音巨大是什么原因?
- go语言多package使用实战
- 学生信息表 成绩表+12章练习
- MCM/ICM(美国大学生数学建模竞赛)报名指南
- linux u盘插入事件,Linux 下监控USB设备拔插事件
- Unity Shader:实现菲涅尔+色散效果的环境映射以及相关原理解析