「java解析video」java解析word文档
今天给各位分享java解析video的知识,其中也会对java解析word文档进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java怎样实现打开视频文件
- 2、怎么用java读取ffmpeg输出流
- 3、如何用Java编写代码读取视频文件
- 4、用java读取本地磁盘视频资源,OutputStream输出的视频文件在html的video标签播放时不能点快进
- 5、java怎么写摄像头获取的视频流
- 6、Java编译器无法识别video_info怎么办
java怎样实现打开视频文件
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import javax.swing.*;
import javax.media.*;
// 视频播放程序
public class VideoPlayDemo extends JFrame {
private Player player; // 播放器对象
private Component visualMedia; // 视频显示组件
private Component mediaControl; // 视频播放控制组件
private Container container; // 主容器
private File mediaFile; //媒体文件
private URL fileURL; //媒体文件URL地址
public VideoPlayDemo() { // 构造函数
super("视频播放程序"); //调用父类构造函数
container = getContentPane(); //得到窗口容器
JToolBar toobar = new JToolBar(); //实例化工具栏
JButton openFile = new JButton("打开媒体文件"); //实例化按钮
toobar.add(openFile); //增加按钮到工具栏
JButton openURL = new JButton("打开网络地址");
toobar.add(openURL);
container.add(toobar, BorderLayout.NORTH); //设置工具栏
openFile.addActionListener(new ActionListener() { //打开文件按钮事件处理
public void actionPerformed(ActionEvent event) {
JFileChooser fileChooser = new JFileChooser(); //实例化文件选择器
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);//设置文件打开模式为仅打开文件
int result = fileChooser.showOpenDialog(VideoPlayDemo.this);//显示对话框
if (result == JFileChooser.APPROVE_OPTION) { //得到用户行为
mediaFile = fileChooser.getSelectedFile(); //得到选择的文件
}
if (mediaFile != null) {
try {
fileURL = mediaFile.toURL(); //得到文件的URL地址
} catch (MalformedURLException ex) {
ex.printStackTrace(); //输出错误信息
showMessage("打开错误"); //显示错误信息
怎么用java读取ffmpeg输出流
public static void main(String[] args) {
String result = processFLV("E:\\test\\京视传媒\\体育类\\xiao.flv");
PatternCompiler compiler =new Perl5Compiler();
try {
String regexDuration ="Duration: (.*?), start: (.*?), bitrate: (\\d*) kb\\/s";
String regexVideo ="Video: (.*?), (.*?), (.*?)[,\\s]";
String regexAudio ="Audio: (\\w*), (\\d*) Hz";
Pattern patternDuration = compiler.compile(regexDuration,Perl5Compiler.CASE_INSENSITIVE_MASK);
PatternMatcher matcherDuration = new Perl5Matcher();
if(matcherDuration.contains(result, patternDuration)){
MatchResult re = matcherDuration.getMatch();
System.out.println("提取出播放时间 ===" +re.group(1));
System.out.println("开始时间 =====" +re.group(2));
System.out.println("bitrate 码率 单位 kb==" +re.group(3));
}
Pattern patternVideo = compiler.compile(regexVideo,Perl5Compiler.CASE_INSENSITIVE_MASK);
PatternMatcher matcherVideo = new Perl5Matcher();
if(matcherVideo.contains(result, patternVideo)){
MatchResult re = matcherVideo.getMatch();
System.out.println("编码格式 ===" +re.group(1));
System.out.println("视频格式 ===" +re.group(2));
System.out.println(" 分辨率 == =" +re.group(3));
}
Pattern patternAudio = compiler.compile(regexAudio,Perl5Compiler.CASE_INSENSITIVE_MASK);
PatternMatcher matcherAudio = new Perl5Matcher();
if(matcherAudio.contains(result, patternAudio)){
MatchResult re = matcherAudio.getMatch();
System.out.println("音频编码 ===" +re.group(1));
System.out.println("音频采样频率 ===" +re.group(2));
}
} catch (MalformedPatternException e) {
e.printStackTrace();
}
}
// ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)
private static String processFLV(String inputPath) {
/*
if (!checkfile(inputPath)){
_log.warn(inputPath+" is not file");
return false;
}
*/
ListString commend=new java.util.ArrayListString();
// commend.add("e:\\videoconver\\ffmpeg\\ffmpeg ");//可以设置环境变量从而省去这行
commend.add("ffmpeg");
commend.add("-i");
commend.add(inputPath);
try {
ProcessBuilder builder = new ProcessBuilder();
builder.command(commend);
builder.redirectErrorStream(true);
Process p= builder.start();
//1. start
BufferedReader buf = null; // 保存ffmpeg的输出结果流
String line = null;
//read the standard output
buf = new BufferedReader(new InputStreamReader(p.getInputStream()));
StringBuffer sb= new StringBuffer();
while ((line = buf.readLine()) != null) {
System.out.println(line);
sb.append(line);
continue;
}
int ret = p.waitFor();//这里线程阻塞,将等待外部转换进程运行成功运行结束后,才往下执行
//1. end
return sb.toString();
} catch (Exception e) {
// System.out.println(e);
return null;
}
}
如何用Java编写代码读取视频文件
视频也是一个文件,就用file类就可以了,这里简单帮你实现一下吧:
---------------------------
//向该方法传递视频文件的路径
public static void getVideo(String filePath){
//得到一个File 对象
File fileImg=FraudinfoAction.getFraudImg(path);
//渲染一个二进制字节码文件
renderBinary(fileImg);
}
用java读取本地磁盘视频资源,OutputStream输出的视频文件在html的video标签播放时不能点快进
!DOCTYPE html
html
head
meta charset="UTF-8"
titleTitle/title
/head
body
!-- controlslist="nodownload" 去掉下载按钮 --
!--video controls="true" controlslist="nodownload"/video--
video controls="true" /video
/body
script type="text/javascript"
//禁用掉video的右键菜单
var video=document.getElementsByTagName("video")[0];
video.oncontextmenu=function(){
return false;
}
var url="/Users/lijunming/Desktop/demo.mp4"; //电脑上视频文件的绝对路径
video.src="showVideo?fileName="+url; //告诉服务器要播放视频文件的路径
/script
/html
java怎么写摄像头获取的视频流
摄像头获取到的数据其实都是一帧一帧的图片,任何语言不仅仅是java都可以对这些数据进行处理,但是Java不是最佳的选择。
针对这些图片你首先要知道摄像头是否对视频流使用了压缩技术,例如:H263\H264或者是没有压缩过的。
如果是压缩过的,你需要先对每一帧进行解编码(DECODE),然后就是一张图了,你进行你要做的编辑,然后再编码(ENCODE),再放入视频流中。
C语言开发的视频处理软件是cstream,你可以看一看,这个是通道式处理,添加插件,处理每一个buffer,一个buffer就是一帧,同时也可以处理多种格式的音频。
对视频的编辑不是简简单单就能实现的,需要对算法有很好的了解。
Java编译器无法识别video_info怎么办
你可以在video标签上添加一个属性,
用来辨别是否动态加载的.
关于java解析video和java解析word文档的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。