java web项目 处理视频流问题

小蔡先生` 小蔡先生` 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
这几天一直在考虑怎么实现在web界面播放视频的问题。
其实直接在html里写video标签 src属性指定成
localhost:8080/upload/1.mp4
就直接可以播放的,但是因为需求需要把src路径改成这种
localhost:8080/getvideo?moviename='1.mp4'
然后在后台通过请求接受到视频文件参数 ,通过BufferedOutputStream 输出流 传到前台 。
只不过大文件超过我指定的
byte[] buff = new byte[2046];

的话会数组越界报错,我也不能把byte初始值设置成无限大,这样会对服务器内存有很大的负荷,而且我这样写的话前台不能实时播放 只能等BufferedOutputStream 的接受完才能播放,前台web界面暂停、托转快进也会失效不能用 。我现在需要一个思路就行,怎么解决这个问题呢?
现在实现的代码如下:
@Override
public void imgForword(String url, HttpServletRequest req, HttpServletResponse resp) throws IOException {
S3Object object = S3Handler.getInstance().getObject(S3Handler.smallPoolName, url);
S3ObjectInputStream objectInput = object.getObjectContent();
ByteArrayOutputStream output = new ByteArrayOutputStream();
byte[] buff = new byte[2046];
int rc = 0;
byte[] downByte = null;
while (-1 !=(rc = objectInput.read(buff))){
output.write(buff, 0, rc);
}
output.flush();
downByte = output.toByteArray();
output.close();
object.close();
OutputStream outStream=null;
BufferedOutputStream bufferOut =null;
try {
outStream = resp.getOutputStream();
bufferOut = new BufferedOutputStream(outStream);
bufferOut.write(downByte);
bufferOut.flush();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
outStream.close();bufferOut.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}
...全文

相关推荐

采用red5视频流服务的web视频会议系统.zip_RED5 WEB_java开发red5_java流的视频_red5视频流服务

实现这样的功能,开发者需要考虑实时同步问题,确保所有参与者看到的白板状态是一致的。标签中提到了“java流的视频”,这是指Java处理音视频流的能力。

小波思基

如何在 Java 中调用本机摄像头并结合 Vue 实现实时视频流?

在现代 Web 开发中,实时视频流和视频捕获技术已广泛应用于多种场景,比如在线会议、视频聊天、实时监控等。如果你有一个 Spring Boot 后端应用,并且希望通过 Java 调用本机摄像头获取视频流,再通过 Vue.js 前端实时展示摄像头数据,那么这篇文章将详细介绍如何实现这一功能。我们将分为两个部分:如何在 Java 后端使用 OpenCV 获取摄像头数据,并将其传输到 Vue 前端,以及如何在 Vue 中展示这些视频数据。

喵手

Vlc视频流Demo

VLC库的强大功能使得项目无需关心底层的编码格式和传输细节,只需关注上层的业务逻辑。5. **视频流处理**:在实际应用中,视频流的传输可能涉及到数据压缩、网络传输优化等问题。

钟渊

海康威视Java2017-11开发包web版,内网亲测可用。

**错误处理和调试**:编写健壮的代码,处理可能出现的网络问题、设备异常等错误情况,同时进行充分的测试和调试。

梦想飞翔的鸟

视频在线播放java源码

综上所述,"视频在线播放java源码"项目涵盖了后端开发、数据库设计、视频流处理等多个方面,对于学习和理解Web开发,尤其是视频服务的实现具有很高的参考价值。

codemonkey123
评论 9
收藏 已收藏
分享
返回顶部
小蔡先生`
Java EE 67,535 成员 225,843 内容