java流 视频_java如何对视频文件处理?包括拉流推流视频截取等?
推流过程首先为了将来可以扩展多种协议(TRSP、RTMP)的视频推流功能,我们创建BStreamer基类。/**
1. 基础视频流
*/
public class BStreamer {
private int width = 640;
private int height = 480;
private String url;
public BStreamer(String url) {
this.url = url;
}
public BStreamer(String url, int w, int h) {
this.url = url;
if (w > 0 && h > 0) {
this.width = w;
this.height = h;
}
}
public int getWidth() {
return width;
}
public void setWidth(int width) {
this.width = width;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}}12345678910111213141516171819202122232425262728293031323334353637383940414243根据上面BStreamer基类,我们扩展实现RTSP协议的视频推流器,由于本实例是采用FFMPEG为推流手段,所以我们下面创建FFmpegPusher实体类。public class FFmpegPusher extends BStreamer {
public FFmpegPusher(String url) {
super(url);
}
public FFmpegPusher(String url, int w, int h) {
super(url, w, h);
}
private Process process;
public void push(){
String basePath="F:\\ffmpeg-4.2.1-win64-shared\\bin";
String videoPath=String.format("%s\\test.mp4",basePath);
String ffmpegPath=String.format("%s\\ffmpeg",basePath);
try {
// 视频切换时,先销毁进程,全局变量Process process,方便进程销毁重启,即切换推流视频
if(process != null){
process.destroy();
System.out.println(">>>>>>>>>>推流视频切换<<<<<<<<
public static void main(String[] args) throws Exception {
String url="rtsp://192.168.56.1/test";
FFmpegPusher pusher=new FFmpegPusher(url);
pusher.push();
}}1234567运行以上测试程序得到如下结果
在服务端查看推流结果(服务下载地址:http://www.easydarwin.org/)
客户端测试拉取上面的视频流进行直播显示
java流 视频_java如何对视频文件处理?包括拉流推流视频截取等?相关推荐
- java文本压缩算法_java 什么算法压缩文件最小
展开全部 有三种方式实现java压缩: 1.jdk自带的包java.util.zip.ZipOutputStream,不足之处,文件(夹)名称32313133353236313431303231363 ...
- LiveNVR Onvif/RTSP流媒体软件接入监控摄像头后如何获取直播流地址进行大屏展示、播放端拉流、网页播放监控视频等...
1.LiveNVR介绍 LiveNVR的安防监控的视频直播,可以按标准的Onvif/RTSP协议接入监控设备,也可以通过海康.大华.天地伟业等厂家私有SDK接入监控,实现web页面的播放和录像回放. ...
- java 重命名_Java如何重命名文件?
在java编程中,如何重命名文件? 此示例演示如何使用File类的oldName.rename To(new_Name)方法重命名文件. package com.yiibai; import java ...
- html播放mov格式视频,video - ffmpeg将mov文件转换为mp4,用于HTML5视频标签IE9 - 堆栈内存溢出...
对于ffmpeg : ffmpeg -i {input}.mov -vcodec h264 -acodec aac -strict -2 {output}.mp4 您还可以添加-q:v / -q:a参 ...
- java微课比赛视频_Java Web程序设计(第3版)-微课视频版
第1部分入门 第1章Java Web开发环境配置 1.1B/S结构 1.2服务器的安装 1.2.1服务器的作用 1.2.2获取服务器软件 1.2.3安装服务器 1.2.4测试服务器 1.2.5配置服务 ...
- java pdf文件下载_Java后台返回PDF文件预览下载
Java后台返回PDF文件预览下载 开始的代码的系统代码为: ResponseEntity onePdf = s3Wrapper.download(contractEntity.getContract ...
- java filefilter递归_Java中的递归+文件过滤器
直接递归称为方法自身调用自己 间接递归可以A方法调用B方法,B方法调用方法,C方法调用A方法. 注意事项: 递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出. 在递归中虽然有限定条件, ...
- java 定时删除_Java编写定时删除文件程序
Java编写定时删除文件程序 /*Java教程:http://www.javaweb.cc*/ import java.io.File; import java.util.Calendar; impo ...
- java nginx 例子_Java及nginx实现文件权限控制代码实例
我们知道,使用nginx作为文件下载服务器,可以极大地降低对后端Java服务器的负载冲击,但是nginx本身并不提供授权控制,因此好的方案是由后端服务器实现权限控制,最好的方式是直接复用应用的认证体系 ...
- java代码整合_java合并多个文件的实例代码
在实际项目中,在处理较大的文件时,常常将文件拆分为多个子文件进行处理,最后再合并这些子文件.下面就为各位介绍下Java中合并多个文件的方法. Java中合并子文件最容易想到的就是利用BufferedS ...
最新文章
- 谷歌母公司投资成绩:4大机构各有侧重,投资2个马斯克项目
- Win10自动息屏太快解决方法
- c语言程序填空打印出1 1000,计算机应用类专业综合复习试题(一)
- Android NDK 内存泄露检测
- 电信运营商计费模型_商客通:南京电信400电话怎么办理更省心
- git提交后的自动化流程构建
- 消息队列 应用场景 解析
- 在SSP中查询某个用户Profile信息的SQL语句
- update mysql php_PHP的MySQL的更新update
- 未设置BufferSize导致FTP下载速度过慢的问题
- 大数据治理体系如何搭建
- Kerberos的工作原理
- 【车牌识别】基于matlab GUI汽车出入库收费系统(带面板)【含Matlab源码 735期】
- Bookmarks 各种技术 参考
- 计算机网络1MB等于多少b,1mb等于多少kb?MB转化KB的算法 - 驱动管家
- MySQL - redolog 图文详解
- C语言——是否为闰年的判断
- IO_FILE——FSOP、house of orange
- 字体大宝库:20款超细英文字体免费下载
- java 学习网站_Java学习必不可少的十大网站
热门文章
- pr警告项目使用计算机上目前不可用字体,pr2018以上新版字幕字体找不到的问题?...
- win和linux双系统安装教程
- Labview完全卸载工具msiblast NI
- 网站在线沟通工具,网站即时聊天工具-TTKEFU在线客服系统功能介绍
- 使用JavaScript在页面打印系统当前时间
- eve-ng:加载c7200 dynamips镜像
- Linux权限管理命令 chmod 详解
- 翻译任务中的BPE词表实践总结
- 初学者求经典java学习视频
- 发字的楷书写法图片_想要不侵权?收下这篇可能是最全面的书法字设计指南!...