java实现视频上传和播放.

Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能

视频网站中提供的在线视频播放功能,播放的都是FLV格式的文件,它是Flash动画文件,可通过Flash制作的播放器来播放该文件.项目中用制作的player.swf播放器.

多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。

ffmpeg视频采集功能非常强大,不仅可以采集视频采集卡或USB摄像头的图像,还可以进行屏幕录制,同时还支持以RTP方式将视频流传送给支持RTSP的流媒体服务器,支持直播应用。

1.能支持的格式

ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)

2.不能支持的格式

对ffmpeg无法解析的文件格式(wmv9,rm,rmvb等),可以先用别的工具(mencoder)转换为avi(ffmpeg能解析的)格式.

实例是将上传视频转码为flv格式,该格式ffmpeg支持,所以我们实例中需要ffmpeg视频处理工具.

数据库MySQL5.5

实例所需要的数据库脚本

drop database if exists db_mediaplayer;

create database db_mediaplayer;

use db_mediaplayer;

create table tb_media(

id int not null primary key auto_increment comment '主键' ,

title varchar(50) not null comment '视频名称' ,

src varchar(200) not null comment '视频存放地址' ,

picture varchar(200) not null comment '视频截图' ,

descript varchar(400) comment '视频描述' ,

uptime varchar(40) comment '上传时间'

);

desc tb_media;

项目结构图:

上传视频界面设计

在上传文件时,Form表单中?enctype属性值必须为"multipart/form-data".模块界面设计如下图:

enctype属性值说明

application/x-www-form-urlencoded

表单数据被编码为名称/值对,这是标准的编码格式

multipart/form-data

表单数据被编码为一条消息,页面上每个控件对应消息中的一部分

text/plain

表单数据以纯文本形式进行编码,其中不含任何控件格式的字符

?

业务接口定义

面向接口编程,接口中定义系统功能模块.这样方便理清业务,同时接口的对象必须由实现了该接口的对象来创建.这样就避免编码中的某些业务遗漏等,同时扩展性也增强了.

package com.webapp.dao;

import java.util.List;

import com.webapp.entity.Media;

/**

*

* MediaDao.java

*

* @version : 1.1

*

* @author : 苏若年 发送邮件

*

* @since : 1.0 创建时间: 2013-2-07 上午10:19:54

*

* TODO : interface MediaDao.java is used for ...

*

*/

public interface MediaDao {

/**

* 视频转码

* @param ffmpegPath 转码工具的存放路径

* @param upFilePath 用于指定要转换格式的文件,要截图的视频源文件

* @param codcFilePath 格式转换后的的文件保存路径

* @param mediaPicPath 截图保存路径

* @return

* @throws Exception

*/

public boolean executeCodecs(String ffmpegPath,String upFilePath, String codcFilePath, String medi

java 上传视频并播放_java实现视频上传和播放..doc相关推荐

  1. java上传视频代码下载_java 实现视频上传

    [实例简介] java上传视频转码播放的一个demo,实现java上传视频.转码.截图和播放功能 [实例截图] [核心代码] java视频上传,转码,播放实现 └── java视频上传,转码,播放实现 ...

  2. java 上传文件并读取_Java实现图片上传到服务器并把上传的图片读取出来

    在很多的网站都可以实现上传头像,可以选择自己喜欢的图片做头像,从本地上传,下次登录时可以直接显示出已经上传的头像,那么这个是如何实现的呢? 下面说一下我的实现过程(只是个人实现思路,实际网站怎么实现的 ...

  3. java获取视频时长_Java获取视频的大小、时长

    前端上传视频之后,根据上传的视频文件获取视频的大小和时长 1.获取视频时长 private String ReadVideoTime(File source) { Encoder encoder = ...

  4. java可以做苹果软件吗_Java应用软件iPhone上运行 苹果没兴趣Sun单干

    CNET科技资讯网3月10日国际报道 Sun正在为苹果iPhone开发一款JVM(Java虚拟机),并计划在6月份发布这款软件,使Java应用软件能够在iPhone上运行. Sun负责Java研究的副 ...

  5. java文本框添加单击事件_Java文本框上的ActionEvent事件

    三个概念:事件源, 监视器, 处理事件的接口 事件源 能够产生事件的对象都可以成为事件源,如文本框.按钮.下拉式列表等. 事件源必须是一个对象,而且这个对象必须是 Java认为能够发生事件的对象. 监 ...

  6. java相对应的键盘输入_Java 实现输入键盘上任意键显示出相对应的ASCII

    //主程序类 public class KeyPress extends JFrame { public static void main(String[] args) { KeyFrame fram ...

  7. java期末考试2013及答案_java笔试经典(题及答案)2013.doc

    java笔试经典(题及答案)2013.doc Java笔试经典(基础部分及答案和分析)1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?7答:可以包括多个 ...

  8. java安装选择哪个可选功能_java章节习题及期末考试题答案.doc

    Java开发入门 习题 填空题 将.java源文件编译为.class文件的是[ ]命令. 在Eclipse窗口中选择菜单[ ]→New→Java Project创建Java项目. 在安装JDK的过程中 ...

  9. java中怎么编写围棋对弈_java课程设计围棋对弈(含代码).doc

    java课程设计围棋对弈(含代码).doc C:\ProgramFiles\Java\jdk1.8.0_45Java程序课程设计任务书1.主要任务与目标创建一个围棋对弈平台.基于Panel类定义一个面 ...

最新文章

  1. 渗透知识-XSS跨站脚本攻击
  2. STM32F103单片机系统时钟部分归纳
  3. LiveVideoStackCon 2018展现多媒体技术生态多样性
  4. Android 在onCreate()方法中获取控件宽高值为0解决方案
  5. Python中的@property Decorator:其用例,优点和语法
  6. Docker容器真的安全吗?
  7. PHP实例方法,PHP实例方法有哪些例子
  8. Python学习之路:socket网络编程
  9. 从运维和SRE角度看监控分析平台建设
  10. 【荐】Redis学习资料汇总
  11. SQL入门基础视频教程-Visual Foxpro视频教程
  12. c语言编程中u16啥意思,STM32中数据类型定义 U8 U16 U32解释说明
  13. python 划分训练集 测试集 验证集_如何正确使用机器学习中的训练集、验证集和测试集?...
  14. 广告牌定时器怎么设置时间_广告牌定时器时间到了灯箱不亮怎么回事?
  15. springboot-3-整合ehcache缓存
  16. 企业微信群:机器人实现定时提醒功能
  17. 文本框的左视图不见了?
  18. 清除Internet临时文件
  19. eclipes Java代码连接Mysql数据库
  20. 电脑端epub阅读软件分享

热门文章

  1. 不能上网--只要四步判断出故障所在
  2. Centos双节点搭建openstack无法使用ssh链接到实例解决办法
  3. 慢连接 java_记一次redis的java客户端lettuce操作慢的解决方案
  4. 查画图linux进程,分享|6 款面向 Linux 用户的开源绘图应用程序
  5. php twig扩展,如何写一个自定义的 Twig 扩展
  6. gradle_使用Gradle构建和应用AST转换
  7. 字节跳动_掌握Java字节码
  8. python遍历数组冒泡排序_经典排序算法(冒泡排序,选择排序,插入排序,快速排序,堆排序)python实现...
  9. mysql 配置32g内存_MySQL性能测试 : 新的InnoDB Double Write Buffer
  10. 内地计算机学校,全球大学计算机实力排名:清北人工智能内地前2