
视频文件格式的种类繁多,缩略图功能并不支持显示所有的视频文件的第一帧,但可以显示视频文件所关联的程序图标。建议你对视频文件关联正确的应用程序,以文件名进行区分。windows xp是最流行最常用的 *** 作系统,但是资源管理器的有些功能还是比较落后的,比如所有的视频文件不可以使用缩略图图标显示,像这样简单的功能在linux *** 作系统中是非常常见的。那如何才能弥补这样的缺憾呢?使用Media Preview这个软件即可解决。
视频使用缩略图图标显示是非常人性化的,和使用默认图标相比,缩略图可以让我们更加快速的找到文件。也可以更加快速的了解视频文件的内容,从而无需使用文件名辨别,也无需对视频进行逐个播放。
Media Preview的优点:
1、体积小巧,完全免费。这个软件是无需付费就可以使用的,并且5.6M的体积也是非常的小巧。
2、支持所有主流的视频格式。这个软件支持36种视频格式,从以前常见的rmvb、rm、avi、到高清时代使用的mkv、mp4都行。
3、智能的缩略图。Media Preview不会傻瓜的使用视频文件的第一帧作为缩略图显示。毕竟视频开始部分不是黑屏就是演员表,如果是连续剧的话,所有缩略图就只会是同一个画面,略缩图就失去了它的意义。这个软件带有智能算法能够找到具有代表性的画面作为缩略图使用,所以你一眼就可以了解视频内容是什么。
4、支持32位/64位 *** 作系统,并且可以在xp、vista、win7等系统中使用。如果你觉得windows 7中自带的这个功能比较差劲的话,Media Preview是非常好的替代品。
5、系统不会因此不稳定和运行缓慢。
6、带有中文设置界面。
7、使用简单,你只需要在设置界面中勾选关联的文件格式,点击“应用”按钮即可生效。
如果使用后发现没有效果,那么无需担心,因为很有可能是资源管理器的查看方式没有选对的原因,只需要把查看方式改成“缩略图”即可。如果还是不行,那么清理一下缩略图缓存吧。
JS脚本和FLASH内容连接,把内容的一个帧截下来就显示了。
【ffmpeg.exe可执行文件获取】:
网上搜索后得到编译好的ffmpeg文件,下载地址:HTTP:download!csdn!net/source/453719(!改成.)
【安装】:
将下载的文件解压,如:D:\ffmpeg,一共三个文件,分别是:ffmpeg.exe、ffplay.exe、pthreadGC2.dll。我们用到的应该是ffmpeg.exe。
【实现获取视频缩略图的两种方式】:
1、调用批处理文件:
批处理文件(如:ffmpeg.bat),内容:D:/ffmpeg/ffmpeg.exe -i %1 -ss 20 -vframes 1 -r 1 -ac 1 -ab 2 -s 160*120 -f image2 %2 。其中,%1与%2类似C语言中的参数,代码中是需要替换的,Java代码如下:
public static void main(String[] args) {
// 视频文件
String videoRealPath = "E://test.flv"
// 截图的路径(输出路径)
String imageRealPath = "E://test.jpg"
// 1、调用批处理文件
try {
Runtime.getRuntime().exec( "cmd /c start E://ffmpeg.bat " + videoRealPath + " " + imageRealPath)
} catch (IOException e) {
e.printStackTrace()
}
}
2、调用系统中的可执行程序
Java代码如下:
public static final String FFMPEG_PATH = "D:/ffmpeg/ffmpeg.exe"
public static boolean processImg(String path) {
File file = new File(path)
if (!file.exists()) {
System.err.println("路径[" + path + "]对应的视频文件不存在!")
return false
}
List<String>commands = new java.util.ArrayList<String>()
commands.add(FFMPEG_PATH)
commands.add("-i")
commands.add(path)
commands.add("-y")
commands.add("-f")
commands.add("image2")
commands.add("-ss")
commands.add("38")
commands.add("-t")
commands.add("0.001")
commands.add("-s")
commands.add("320x240")
commands.add(path.substring(0, path.indexOf(".")) + ".jpg")
try {
ProcessBuilder builder = new ProcessBuilder()
builder.command(commands)
builder.start()
return true
} catch (Exception e) {
e.printStackTrace()
return false
}
}
【总结】:
ffmpeg功能强大,不仅可以获取缩略图,而且支持大部分主流的视频格式,而且也可以对视频进行转码,使用起来也非常方便。虽然它是在Linux下开发而来的,但它可以在包括Windows下的大多 *** 作系统中编译,本文就是用了在Windows环境下编译好的文件来实现的。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)