- 浏览: 564486 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (618)
- java (109)
- Java web (43)
- javascript (52)
- js (15)
- 闭包 (2)
- maven (8)
- 杂 (28)
- python (47)
- linux (51)
- git (18)
- (1)
- mysql (31)
- 管理 (1)
- redis (6)
- 操作系统 (12)
- 网络 (13)
- mongo (1)
- nginx (17)
- web (8)
- ffmpeg (1)
- python安装包 (0)
- php (49)
- imagemagic (1)
- eclipse (21)
- django (4)
- 学习 (1)
- 书籍 (1)
- uml (3)
- emacs (19)
- svn (2)
- netty (9)
- joomla (1)
- css (1)
- 推送 (2)
- android (6)
- memcached (2)
- docker、 (0)
- docker (7)
- go (1)
- resin (1)
- groovy (1)
- spring (1)
最新评论
-
chokee:
...
Spring3 MVC 深入研究 -
googleyufei:
很有用, 我现在打算学学Python. 这些资料的很及时.
python的几个实用网站(转的) -
hujingwei1001:
太好了找的就是它
easy explore -
xiangtui:
例子举得不错。。。学习了
java callback -
幻影桃花源:
太好了,謝謝
Spring3 MVC 深入研究
来源地址:http://bbs.csdn.net/topics/340267510
/**
* 获取视频播放总时长
*
* @param fileName
* 视频名称
* @param dir
* 存放视频的目录
* @return
* @throws IOException
*/
public static long getVideoPlayTime(String videoName, File dir) throws IOException{
Process p = null;
if (isWindowsSystem()) {
p = Runtime.getRuntime().exec(
"cmd /c timelength.bat " + "\"" + dir.getPath() + "/" + videoName
+ ".wmv\"");
} else {
String cmd = "sh " + getMplayerBinPath() + "/timelength.sh " + dir.getPath()+ "/" + videoName + ".wmv";
p = Runtime.getRuntime().exec(cmd);
}
InputStream is = p.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line = null;
while ((line = br.readLine()) != null) {
if(line != null){
if(line.startsWith("ID_LENGTH")){
String second = line.split("=")[1].trim();
int pos = 0;
if((pos = second.indexOf(".")) != -1){
// 去除小数点后的数字
return Long.parseLong(second.substring(0, pos));
}else{
return Long.parseLong(second);
}
}
}
}
try {
br.close();
isr.close();
is.close();
} catch (Exception e) {
}
return 0;
}
/**
* 格式化视频播放时长
* @param time
* @return
*/
public static String formatVideoTimeLength(long time) {
long s = time % 60;
long m = (time / 60) % 60;
long h = time / 3600;
return toTimeString(h) + ":" + toTimeString(m) + ":" + toTimeString(s);
}
获取音频时长
import java.io.File;
import java.io.IOException;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
public class AudioLength {
public static void main(String[] args) throws LineUnavailableException,
UnsupportedAudioFileException, IOException {
File file = new File("d:/test.wav");
Clip clip = AudioSystem.getClip();
AudioInputStream ais = AudioSystem.getAudioInputStream(file);
clip.open(ais);
System.out.println( clip.getMicrosecondLength() / 1000000D + " s" );
}
}
/**
* 获取视频播放总时长
*
* @param fileName
* 视频名称
* @param dir
* 存放视频的目录
* @return
* @throws IOException
*/
public static long getVideoPlayTime(String videoName, File dir) throws IOException{
Process p = null;
if (isWindowsSystem()) {
p = Runtime.getRuntime().exec(
"cmd /c timelength.bat " + "\"" + dir.getPath() + "/" + videoName
+ ".wmv\"");
} else {
String cmd = "sh " + getMplayerBinPath() + "/timelength.sh " + dir.getPath()+ "/" + videoName + ".wmv";
p = Runtime.getRuntime().exec(cmd);
}
InputStream is = p.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line = null;
while ((line = br.readLine()) != null) {
if(line != null){
if(line.startsWith("ID_LENGTH")){
String second = line.split("=")[1].trim();
int pos = 0;
if((pos = second.indexOf(".")) != -1){
// 去除小数点后的数字
return Long.parseLong(second.substring(0, pos));
}else{
return Long.parseLong(second);
}
}
}
}
try {
br.close();
isr.close();
is.close();
} catch (Exception e) {
}
return 0;
}
/**
* 格式化视频播放时长
* @param time
* @return
*/
public static String formatVideoTimeLength(long time) {
long s = time % 60;
long m = (time / 60) % 60;
long h = time / 3600;
return toTimeString(h) + ":" + toTimeString(m) + ":" + toTimeString(s);
}
获取音频时长
import java.io.File;
import java.io.IOException;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
public class AudioLength {
public static void main(String[] args) throws LineUnavailableException,
UnsupportedAudioFileException, IOException {
File file = new File("d:/test.wav");
Clip clip = AudioSystem.getClip();
AudioInputStream ais = AudioSystem.getAudioInputStream(file);
clip.open(ais);
System.out.println( clip.getMicrosecondLength() / 1000000D + " s" );
}
}
发表评论
-
java的InputStream和OutputStream的理解【转】
2015-11-09 18:10 654原文地址:http://www.cnblogs.com/spr ... -
【JSP】让HTML和JSP页面不缓存的方法
2015-10-14 10:16 487原文地址:http://blog.csdn.net/juebl ... -
jsp去掉浏览器缓存
2015-10-14 09:21 629原文地址:http://bbs.csdn.net/topics ... -
Spring定时任务的几种实现
2015-09-17 18:02 392原文地址:http://gong1208.iteye.com/ ... -
Java 8 简明教程
2015-08-31 17:43 356原文地址:http://www.iteye.com/magaz ... -
Java 8 简明教程
2015-08-28 15:30 564原文地址:http://www.iteye.com/magaz ... -
Spring 3.0 注解注入详解
2015-08-20 12:01 518原文地址:http://developer.51cto.com ... -
Apache所有项目介绍
2015-08-20 11:47 960原文地址:http://haisha.iteye.com/bl ... -
jdk5.0新特性介绍
2015-08-04 18:08 467原文地址:http://blog.sina.com.cn/s/ ... -
Apache Log4j配置说明
2015-05-18 15:59 428原文地址:http://zhangjunh ... -
ubuntu 14.04 下通过apt-get 安装jdk
2015-04-09 16:42 712原文地址:http://segmentfault.com/a/ ... -
【原创】Eclipse Class Decompiler——Java反编译插件
2015-04-01 15:00 612原文地址:http://www.blogj ... -
jvisualvm远程监控Tomcat
2015-03-06 10:19 719原文地址:http://ihuangweiwei.iteye. ... -
Java 并发核心编程
2015-01-08 18:07 621原文地址:http://www.cnblogs.com/see ... -
log4j日志文件乱码问题的解决方法
2015-01-06 18:11 827原文地址:http://blog.csdn.net/inkfi ... -
SHA1与MD5
2014-12-22 15:31 618原文地址:http://blog.csdn.net/fogle ... -
征服 Redis + Jedis
2014-12-19 13:51 399原文地址:http://snowolf.iteye.com/b ... -
Java连接redis的使用示例
2014-12-19 12:08 1079原文地址:http://blog.csdn.net/wgw33 ... -
java对redis的基本操作
2014-12-19 12:07 586原文地址:http://www.cnblogs.com/edi ... -
Eclipse Class Decompiler——Java反编译插件
2014-10-16 11:02 470原文地址:http://bbs.csdn. ...
相关推荐
System.out.println("视频时长: " + durationInSeconds + " 秒"); } }); while (mediaReader.readPacket() == null) ; } catch (Exception e) { e.printStackTrace(); } } } ``` 在这段代码中,我们首先...
2. **读取视频时长**:使用`AVURLAsset`的`duration`属性可以获取到视频的时长,该属性返回的是`CMTime`类型,包含了时间值和时间尺度两个部分。为了将时长转换为更常见的秒数,可以通过以下代码: ```objective-c ...
FFmpeg解析视频,合并都可以,本项目只是用来获取视频长度,有点大材小用,但是目前能获取在线视频长度的资源的确是不多。VLC也是可以获取在线URL视频长度的,但是VLC有的在线视频也获取不到时长,这是补充方案,...
获取视频时长的关键部分通常在`Form1_Load`或者类似的事件处理器中,这里会创建一个`MediaPlayer`实例,并加载目标视频文件。然后,我们可以使用`MediaPlayer.Length`属性来获取视频的总时长,单位为毫秒。例如: `...
根据提供的文件信息,我们可以深入探讨如何使用FFmpeg来获取视频的关键属性,如视频时长、码率、编码格式、分辨率以及音频的相关信息,并且通过Java编程语言实现这一过程。 ### FFmpeg简介 FFmpeg是一个非常强大的...
总的来说,获取视频时长需要对Java的文件I/O、网络请求以及多媒体处理有一定的了解。使用合适的库可以简化这个过程,提高效率。在实际应用中,确保处理的健壮性和效率是非常重要的,例如处理网络延迟、错误重试等。
以下是一个简单的示例,展示如何使用C#获取视频时长: ```csharp using System.Diagnostics; public string GetVideoDuration(string videoPath) { var startInfo = new ProcessStartInfo(); startInfo.FileName...
总的来说,通过FFmpeg获取视频时长涉及到了多媒体容器的理解、FFmpeg库的使用以及源代码的解析。FFmpeg 4.0提供了稳定和高效的接口,使得开发者能轻松处理这类任务。对于测试和验证,可以使用提供的`testFfmpeg`文件...
1. **获取视频时长**: 视频时长通常存储在视频文件的元数据中,JAVE可以通过解析这些数据来获取。以下是一个简单的示例代码片段: ```java import it.sauronsoftware.jave.*; File source = new File("path_...
总的来说,Java中使用FFmpeg获取视频时长是一项实用的功能,通过FFmpeg的Java绑定库,我们可以轻松地在Java应用中集成这一特性。这不仅有助于提升用户体验,例如在上传视频时即时显示时长,还可以用于其他如视频处理...
本地生成file文件 MultipartFile转为file,获取时长(毫秒),换算毫秒为时分秒 删除本地的file文件
首先匹配Duration字段来获取视频的总播放时长,然后将时长字符串转换成秒数。此外,还通过正则表达式匹配了视频的比特率、视频编码格式、视频分辨率、音频编码和采样率等信息。 每一种信息匹配成功后,都会存储到一...
调用vlc的dll,通过VLC的API来获取视频文件的时间长度信息,完整源代码,vs2008工程,可编译和测试通过。 需要注意的是使用的VLC 32位版本,C#工程必须设置生成32位软件。如果想用64位的,那么请使用64位的VLC版本的...
在Java编程中,获取播放文件(如音频或视频文件)的时长是一项常见的任务,尤其在多媒体应用或者处理媒体文件的场景下。本篇将详细讲解如何利用Java来获取不同类型的媒体文件的时长。 首先,Java本身并不直接提供...
3. **获取视频播放时间**:视频的总播放时间可以通过解析ffprobe输出的元数据获取。在JSON格式的输出中,找到"time_base"和"duration"字段,将它们转换为秒,就可以得到视频的总时长。 以下是一个简单的Java示例,...
直接通过element-ui自带的上传组件结合js即可,代码如下: ... before-upload=beforeAvatarUpload> <button class=ce-button not-hover primary> <i class=ce-icon_upload></i> 重新上传
在Java编程环境中,获取播放文件(如音频或视频文件)的时长是一项常见的任务,尤其在多媒体处理或者媒体播放器的开发中。本教程将详细讲解如何使用Java代码来实现这一功能,支持的文件格式包括mp3、mp4、f4v、3gp、...
自己写的一个用于记录视频播放时长的js,通过video标签的事件处理实现,文末有使用示例,引入即用。
通过ffmpeg获取视频文件的视频时间长度信息,可以获取各种保存在本地的视频文件中的视频时长信息。完整的C代码和codeblocks工程,没有使用ffmpeg命令,是调用的ffmpeg API方式实现的,在linux下可直接编译和测试通过...