- 浏览: 938628 次
- 性别:
- 来自: 江西上饶
文章分类
- 全部博客 (460)
- p.spring (56)
- p.maven (20)
- p.ant (17)
- p.jee (18)
- p.jse (33)
- p.ofbiz (31)
- p.软件工程 (8)
- p.struts2 (5)
- p.hibernate (5)
- linux (25)
- 设计模式 (2)
- p.javascript (11)
- 硬件 (1)
- p.jsp (2)
- p.windows批处理 (1)
- 操作系统问题 (5)
- 算法 (1)
- p.mysql (7)
- p.sql (5)
- p.c (1)
- google产品 (0)
- 内存 (1)
- p.struts (1)
- p.freemarker (7)
- p.css (4)
- p.log4j (10)
- p.html (3)
- 淘宝产品 (0)
- 其他 (3)
- 编译器 (0)
- svn (4)
- p.spring.security (11)
- 图形 (0)
- p.xml (1)
- p.ssh (0)
- p.jquery (4)
- p.jdbc (3)
- p.flex (0)
- p.c++ (0)
- p.c#Net (0)
- p.assembly (0)
- p.sqlserver (0)
- p.其他 (3)
- p.webwork (21)
- p.wap (12)
- p.cglib (1)
- p.jee服务器 (11)
- windows (2)
- p.iphone (1)
- p.java.分布式与集群 (2)
- p.ibatis (16)
- p.eclipse (5)
- 架构 (2)
- http协议 (5)
- 我的个人标准 (2)
- 多线程 (1)
- 奇怪问题 (5)
- p.jira (13)
- p.httpclient (1)
- 服务器.apache (11)
- 安全防范 (1)
- p.PODAM (1)
- p.junit (16)
- fop (2)
- 硬盘安装 (1)
- powerdesigner (0)
- 单元测试 (1)
- apache commons (4)
- tomcat+apache集群 (10)
- 各类诡辩 (1)
- 安卓 (8)
- qvod (1)
- java编程基础知识考试考点及答案 (0)
- 工作总结 (4)
- oracle (0)
- spring的util工具 (3)
- json (2)
- maven (3)
- jms (19)
- p.bat (3)
- hadoop (2)
- git (3)
- nginx (1)
- p.移动开发 (1)
- shiro (3)
- 游戏破解 (1)
- react-native (7)
- ios开发 (1)
- webmagic (6)
- socks5 (1)
最新评论
-
weituotian:
说的不好,没人看的
公司系统中的菜单功能和权限功能 -
石不易:
非常详细的注解~
绑定端口和IP,Listen 与VirtualHost指令 -
spring_springmvc:
spring mvc demo教程源代码下载,地址:http: ...
spring mvc -
liyixing1:
PandaDONG 写道谢谢你啊,我已经下下来了,只是还有很多 ...
jira war安装 -
liyixing1:
PandaDONG 写道谢谢你啊,我已经下下来了,只是还有很多 ...
jira war安装
JAVA目前的转化库没发现过,网上提供的方案是通过java作为外壳,调用底层的转化程序。
由于每个转化程序,实现的支持的转化编码不一样,因此需要多个配合使用
FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,现在由Michael Niedermayer维护。许多FFmpeg的开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视频编码标准,前面的"FF"代表"Fast Forward"。
支持采集摄像头或者其他视频来源
视频格式转换功能
视频截图功能
给视频加水印功能
使用ffmpeg 视频添加水印(logo)。
mencoder 是一款命令行方式的视频处理软件,是Mplayer自带的编码工具(Mplayer是Linux下的播放器,开源,支持几乎所有视频格式的播放,有windows和Mac版本)。
ffmpeg不支持rm,rmvb, wmv9转化成flv。先用mencoder将这三种格式的视频转成avi,再将avi转成flv。当然,这样加重系统的负担,mencoder转rm,rmvb视频的速度远低于ffmpeg。另一种做法是先生成flv,再直接利用flv生成缩略图,可以减少系统开销,这种方式看起来更合理。
Vcdgear:DAT是VCD中的格式,利用上面两种工具也无法直接转换,必须先用vcdgear转换成avi,再通过avi转成flv。转avi的过程是很迅速的,比其他转换过的快好几个数量级。
Flvmdi:如果直接利用mencoder转换成flv,缺少meta信息,会造成播放时没有进度条等问题,需要再用flvmdi修复一下。
JAVA调用:
Java提供了两个类来允许调用外部程序:
(1)、ProcessBuilder
(2)、Runtime
Java调用时是将外部程序作为进程来创建的,这里涉及到一个进程阻塞的问题:只有当父进程结束的时候才会调用转换进程,也不能采用多线程来控制。经过细心百度,发现以往也有人遇到过而且解决了。现把方法列出来:
可以考虑使用两个线程来同时清空process获取的两个输入流,如下这段程序:
……
Process process = Runtime.getRuntime.exec(command); // 调用外部程序
final InputStream is1 = process.getInputStream();
new Thread(new Runnable() {
public void run() {
BufferedReader br = new Buffered(new InputStreamReader(is));
while(br.readLine() != null) ;
}
}.start(); // 启动单独的线程来清空process.getInputStream()的缓冲区
InputStream is2 = process.getErrorStream();
BufferedReader br2 = new Buffered(new InputStreamReader(is2));
StringBuilder buf = new StringBuilder(); // 保存输出结果流
String line = null;
while((line = br.readLine()) != null) buf.append(line); // 循环等待ffmpeg进程结束
System.out.println("输出结果为:" + buf)
在线转换思路:
1、用户上传各种格式的视频,记录下视频存储路径,将转换状态置为0,即未转换。当然大文件上传采用ActiveX,你会用VB写吧?
2、服务器端开启转换进程查询未转换视频。这里有两种方式,一种是采用单线程,即每次从数据库中取一条没有转换的视频信息。方式为:while(){select top 1}。 这种方式转换效率上不是很高,可以采用多线程方式,一般设置一个线程队列,五个或者十个这个样子。不过转视频是很费CPU的事,所以最好不要设得太多,免得搞死机了。
3、转换时的存储问题。转换后的文件名、缩略图名,存储位置这些都应该规定起来,一般情况下视频文件都很多很大,所以存储基本上都要搞阵列。
4、转换时的参数,如工具路径、缩略图大小、视频清晰度、分辨率等可以用一个配置文件来配置,这样做比较录活。
可能有的读者会比较纳闷,为什么你老在说转成FLV,为什么不转成其他格式呢?这主要是我们现在流媒体服务器RED5支持FLV,而且感觉听起来也比较新奇。当然上面的工具的功能远不止于此,由于水平和需要所限,我们只初步研究了转FLV。
本文有很多不足之处,来源于自身知识的浅薄,请大家指出并探讨。
由于每个转化程序,实现的支持的转化编码不一样,因此需要多个配合使用
FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,现在由Michael Niedermayer维护。许多FFmpeg的开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视频编码标准,前面的"FF"代表"Fast Forward"。
支持采集摄像头或者其他视频来源
视频格式转换功能
视频截图功能
给视频加水印功能
使用ffmpeg 视频添加水印(logo)。
mencoder 是一款命令行方式的视频处理软件,是Mplayer自带的编码工具(Mplayer是Linux下的播放器,开源,支持几乎所有视频格式的播放,有windows和Mac版本)。
ffmpeg不支持rm,rmvb, wmv9转化成flv。先用mencoder将这三种格式的视频转成avi,再将avi转成flv。当然,这样加重系统的负担,mencoder转rm,rmvb视频的速度远低于ffmpeg。另一种做法是先生成flv,再直接利用flv生成缩略图,可以减少系统开销,这种方式看起来更合理。
Vcdgear:DAT是VCD中的格式,利用上面两种工具也无法直接转换,必须先用vcdgear转换成avi,再通过avi转成flv。转avi的过程是很迅速的,比其他转换过的快好几个数量级。
Flvmdi:如果直接利用mencoder转换成flv,缺少meta信息,会造成播放时没有进度条等问题,需要再用flvmdi修复一下。
JAVA调用:
Java提供了两个类来允许调用外部程序:
(1)、ProcessBuilder
(2)、Runtime
Java调用时是将外部程序作为进程来创建的,这里涉及到一个进程阻塞的问题:只有当父进程结束的时候才会调用转换进程,也不能采用多线程来控制。经过细心百度,发现以往也有人遇到过而且解决了。现把方法列出来:
可以考虑使用两个线程来同时清空process获取的两个输入流,如下这段程序:
……
Process process = Runtime.getRuntime.exec(command); // 调用外部程序
final InputStream is1 = process.getInputStream();
new Thread(new Runnable() {
public void run() {
BufferedReader br = new Buffered(new InputStreamReader(is));
while(br.readLine() != null) ;
}
}.start(); // 启动单独的线程来清空process.getInputStream()的缓冲区
InputStream is2 = process.getErrorStream();
BufferedReader br2 = new Buffered(new InputStreamReader(is2));
StringBuilder buf = new StringBuilder(); // 保存输出结果流
String line = null;
while((line = br.readLine()) != null) buf.append(line); // 循环等待ffmpeg进程结束
System.out.println("输出结果为:" + buf)
在线转换思路:
1、用户上传各种格式的视频,记录下视频存储路径,将转换状态置为0,即未转换。当然大文件上传采用ActiveX,你会用VB写吧?
2、服务器端开启转换进程查询未转换视频。这里有两种方式,一种是采用单线程,即每次从数据库中取一条没有转换的视频信息。方式为:while(){select top 1}。 这种方式转换效率上不是很高,可以采用多线程方式,一般设置一个线程队列,五个或者十个这个样子。不过转视频是很费CPU的事,所以最好不要设得太多,免得搞死机了。
3、转换时的存储问题。转换后的文件名、缩略图名,存储位置这些都应该规定起来,一般情况下视频文件都很多很大,所以存储基本上都要搞阵列。
4、转换时的参数,如工具路径、缩略图大小、视频清晰度、分辨率等可以用一个配置文件来配置,这样做比较录活。
可能有的读者会比较纳闷,为什么你老在说转成FLV,为什么不转成其他格式呢?这主要是我们现在流媒体服务器RED5支持FLV,而且感觉听起来也比较新奇。当然上面的工具的功能远不止于此,由于水平和需要所限,我们只初步研究了转FLV。
本文有很多不足之处,来源于自身知识的浅薄,请大家指出并探讨。
发表评论
-
servlet3.0 异步servlet
2019-07-26 16:29 378假设一种情况,你的一个servlet会处理比较长的时间,而且这 ... -
Spring 定时任务,cron表达式,@Scheduled cron表达式
2016-04-25 15:48 5266一个cron表达式有至少6 ... -
tomcat https
2015-09-02 13:50 648一、 什么是HTTPS 在说HTTPS之前先说说什么是HTT ... -
关于使用s.url jstl的上下文
2015-08-16 13:28 883比如 [@s.url '/'/]index.html?cote ... -
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
2015-08-14 09:52 1968Neither the JAVA_HOME nor the J ... -
web.xml url-pattern
2015-08-03 01:54 542全站匹配 /* 而不是*,因为jee标准要求url-pat ... -
servlet3.0
2014-11-13 23:04 406异步处理支持 首先,Servlet 接收到请求之后,可能首先需 ... -
java获取当前类的绝对路径
2013-12-14 00:37 8551.如何获得当前文件路径 常用: (1).Test.class ... -
Tomcat Content is not allowed in prolog
2013-07-10 10:19 1297Apache-Tomcat 运行问题 Content is n ... -
整站国际化方案
2012-11-28 17:46 1071当前常见的实现方式,主要由两种方案实现 1.通过locale ... -
java
2012-09-06 14:04 0循环的性能 考点说明 1 ... -
java
2012-09-06 14:01 0有继承关系的类之间的 ... -
在eclipse中启动tomcat很慢
2012-06-07 10:36 1655这个原因可能是断点过多,删除所有断点后,就不会了。 -
Unicode 各种特殊字符编码值
2012-02-25 15:13 6280https://developer.mozilla.org/c ... -
iframe下面的session问题
2011-12-04 19:52 5262在写iframe完成长连接获取上传状态的时候,有两次请求,一次 ... -
but failed to unregister it when the web application was stopped. To preven t a
2011-08-19 23:41 8471错误信息: 信息: Deploying configurati ... -
filter比servlet更适合做dispatcher filter servlet
2011-04-19 09:30 1109filter比servlet更适合做dispatcher。 原 ... -
request总结
2011-03-27 00:56 11201.getAuthType() 返回用来保护servlet的认 ... -
Java垃圾回收机制
2011-03-15 12:53 853转载自http://wcgdonot.iteye.com/bl ...
相关推荐
我在网上找的视频转换的代码,草草的看了一遍还没来得及试验先分享吧,要是用不上大家别骂我啊反正要不了大家很多分,全当学个思路也值得的
TMPGEnc 是日本人堀浩行开发的一套老牌的高画质视频编码转换工具软件,在 Canopus ProCoder v2.0 Final 推出以前,一直是视频转换领域的画质冠军,支持 VCD、SVCD、DVD 以及所有主流媒体格式 (Windows Media、Real ...
TMPGEnc 是日本人堀浩行开发的一套老牌的高画质视频编码转换工具软件,根据我的使用情况,比 Canopus ProCoder v2.0 Final 转换画质要高,速度要快,支持剪辑。应该是视频转换领域的画质冠军,支持 VCD、SVCD、DVD ...
万能视频格式转换器.转换各种格式。万能视频格式转换器
鉴于当前的高效视频编码标准并未考虑人类视觉的特性,本文提出了一种基于恰到好处的失真模型(JND)的感知视频编码算法。 调整后的JND模型在高效视频编码(HEVC)中被组合到变换量化过程中,以消除更多的视觉冗余并...
Easy RealMedia Producer 是一款强大 Rmvb、Rm 编码转换软件,貌似是专为智能手机而设,支持 RealVideo 8/9/10 三种编码互换,而音频编码 、调整画面大小、画面质量、动态码率等设置都应有尽有。 采用全新的...
一款很好的音频视频编码查看工具,有了它就方便手机MP3,MP4格式化转换。
TMPGEnc 是日本人堀浩行开发的一套老牌的高画质视频编码转换工具软件,在 Canopus ProCoder v2.0 Final 推出以前,一直是视频转换领域的画质冠军,支持 VCD、SVCD、DVD 以及所有主流媒体格式 (Windows Media、Real ...
视频上传并转换编码成flv格式 流媒体 视频上传 asp 编码转换
视频编码、转换格式用于视频转换avi格式转换为mp4格式等。
视频批量旋转无需编码转换软件,速度非常快几秒钟搞定,我们都知道视频旋转需要剪辑软件或者格式转换软件,但是处理起来非常麻烦需要逐个调参数,转换软件也需要重新渲染编码转换速度惨不忍睹,有没有直接旋转视频...
• 使用 Panasonic、Sony、Canon、Blackmagic、Nikon 和 ARRI 的内建摄像机 LUT 或添加自定摄像机 LUT 来将 Log 编码视频转换为 SDR 和 HDR 色彩空间 • 将 ProRes Raw 和 ProRes Raw HQ 媒体转换为其他专业文件...
一、视频的定义 二、视频的基本概念 三、视频格式 四、视频编码与解码 五、格式转换 六、格式转换工具
Canopus ProCoder v2.0 Final 是 Canopus (康能普视) 公司出品的 ProCoder 专业视频编码转换软件。它可以在几乎所有主流应用的媒体格式之间进行转换,而且支持批处理、滤镜等高级功能。其画面细节是所有软件中最好的...
h264编码转换工具 Silverlight中制作视频演示时要求视频文件编码默认支持H264 所以非H264的视频文件有可能无法播放,使用此工具转换一下转换成mp4文件
用Dos和ffmpeg进行视频编码转换
ShanaEncoder ,视频编码转换器,视频无损压缩器,ShanaEncoder中文汉化版,视频无损压缩器最新中文汉化版本 好吧既然这个视频无损压缩器 ShanaEncoder 介绍那样的神奇,那大飞哥找个视频试试看看能不能压缩,压缩...
本iPhone视频转换器采用先进的视频编码解码技术,所以转换视频速度极快,转换视频质量极高。 可以帮您把电脑上的音视频都转到iPhone手机上,随时随地看电影听音乐。本iPhone视频转换器设有专门的分类功能:有标准...