如何使用java截取视频文件的一帧(在google和百度上搜了一天没有答案)

haigang 2006-03-27 11:19:23
现在公司有一个项目允许用户通过网站后台上传视频文件(rm、3gp、avi),前台进行展示。

网站前台展示页面需要视频文件中的一帧(任何一帧)做为封面图

现在我想在用户上传视频的文件的时候自动截取出一帧来,但是我搜了很多地方也找不到相关的资料,各位帮忙想想辙吧!
...全文
853 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
haigang 2006-04-01
  • 打赏
  • 举报
回复
多谢各位的帮助了,问题还是没有解决,如果有人知道这个问题的思路,请发邮件到zhanghaigang@100.cn 我再重新开帖子给200分
wuyg719 2006-03-31
  • 打赏
  • 举报
回复
这个文章值得一看:

QuickTime for Java API 入门
当然,如果曾经用 Java 语言做过一些编程,那么您可能会问:为什么不可以只使用 Java 媒体框架 (JMF) API。

最初创建 JMF 是为了给 Java V1.0.2 的开发人员提供处理各种媒体的能力。但是,它的应用并不广,它支持一些过时的媒体格式和编码方式,例如 MPEG-2、AU、HotMedia 和 Flash 2。另一方面,QuickTime for Java 支持 QuickTime 可以播放的所有媒体格式和编码方式。使用 QuickTime for Java API 可以访问更新的媒体格式,其中包括 MPEG-4、MP3 音频、H.264 和 Flash 5。实际上,下面就是 QuickTime 支持的视频编码方式的完整列表: ...

http://www-128.ibm.com/developerworks/cn/java/wi-mvideo/
haigang 2006-03-30
  • 打赏
  • 举报
回复
高手哪里呢,各位救命了呀!
haigang 2006-03-28
  • 打赏
  • 举报
回复
555555555555555:(
还有别的解决办法吗?
wizardblue 2006-03-28
  • 打赏
  • 举报
回复
刚刚在java论坛上发现一个能抽取frame,但好像只支持mpg,:P
--
right then, in answer to many posts about how to get the individual frames from video, here is my solution. it seems to work with mpg files but it doesnt seem to work with any of the avi files i tried
--
haigang 2006-03-28
  • 打赏
  • 举报
回复
to wizardblue(不死鱼),我也没有发现有这个功能呢。
wizardblue 2006-03-28
  • 打赏
  • 举报
回复
这个可能只是支持播放的,相当于是解码了
wizardblue 2006-03-28
  • 打赏
  • 举报
回复
刚才看了一下支持的格式倒是有MPEG-1, MPEG-2, QuickTime, AVI, WAV, AU, and MIDI

但我看了一个programmer guide好像没有发现 extract frame字样嘛,
1 Overview

Data Sources
Players
Media Events
Player States
Calling JMF Methods

2 Example: Creating an Applet to Play a Media File

Overview of PlayerApplet
PlayerApplet Code Listing
Initializing the Applet
Controlling the Player
Responding to Media Events

3 Creating and Displaying a Player

Creating a Player
Displaying a Player and Player Controls

4 Controlling Media Players

Starting a Player
Stopping a Player

5 Managing Player States

Preparing a Player to Start
Starting and Stopping a Player
Releasing Player Resources
Implementing the ControllerListener Interface

6 Managing Timing

Setting the Media Time
Getting the Current Time
Setting a Player's Rate
Getting a Player's Duration

7 Synchronizing Players
8 Using a Player to Manage and Synchronize other Controllers

Adding a Controller
Managing the Operation of Added Controllers
Removing a Controller

9 Extending JMF

Understanding the Player Architecture
Integrating a New Player Implementation
Implementing a New Data Source
Integrating a New Data Source Implementation

haigang 2006-03-28
  • 打赏
  • 举报
回复
多谢各位,今天早上我的一个朋友说java的jmf可能能实现,但是我不知道能不能实现呢
wizardblue 2006-03-28
  • 打赏
  • 举报
回复
楼主应该知道视频压缩算法大多是采用了帧间补偿和帧内补偿,也就是说各帖之间的数据是关联的,所以要单独的抽一帧出来应该有点难度,除非你把压缩格式还原,再进行抽取
剑事 2006-03-28
  • 打赏
  • 举报
回复
看看 linux版的VNC 应该能找到点代码

vnc是java版的远程左面控制
wuyg719 2006-03-28
  • 打赏
  • 举报
回复
换一个思路看看:

后端生成视频文件的程序应该是C++或其他非java程序,让那些程序从视频文件中抽取第一页,
生成数据包发送到java前端即可。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧