视频编码转化

标签: 视频编码 转化 | 发表时间:2015-08-14 02:51 | 作者:liyixing1
出处:http://www.iteye.com
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。
本文有很多不足之处,来源于自身知识的浅薄,请大家指出并探讨。

已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [视频编码 转化] 推荐:

视频编码转化

- - 开源软件 - ITeye博客
JAVA目前的转化库没发现过,网上提供的方案是通过java作为外壳,调用底层的转化程序. 由于每个转化程序,实现的支持的转化编码不一样,因此需要多个配合使用. FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等. 这个项目最早由Fabrice Bellard发起,现在由Michael Niedermayer维护.

谷歌 VP9 欲颠覆 HTML5 视频编码标准

- - ITeye资讯频道
近几年业内各大软硬件企业都在抢先发布HTML5新标准,各方力量也跟随加入不同阵营. 如 Opera、Adobe、AMD、ARM等公司支持谷歌的Web M标准;而索尼、富士、三星、微软等则是苹果所提出H.264标准的专利拥有方. H.264标准一直是网络视频的主要压缩技术之一,且有逐步取代Flash视频格式的发展趋势.

HTML5视频编码器市场新三国演义:谷歌近期将公布VP8视频编码器的开源代码

- Alan - cnBeta.COM
据多方消息来源透露,谷歌将很快公布其VP8视频编码器的开源代码,据悉谷歌公司将在下个月召开的谷歌I/O开发者大会上公布这款编码器的开源代码,与此 同时,火狐的开发商Mozilla公司以及谷歌Chrome浏览器则会同时宣布支持使用这款编码器的HTML5视频回放功能.

再谈间接转化

- liang - SEM WATCH
之前写过一篇关于间接转化的博文,如果读者有记忆的话,在那篇博文中我基本否定了间接转化的使用,反对把间接转化效果纳入纳入搜索的考核. 稍作回顾,搞网络营销的对于转化漏斗都不陌生,流量分层漏下来,最终是转化,那么转化上面这一层是直接转化,再往上就都是间接转化了. 关于这一点,去年春末在北京和百度以及艾德思奇的朋友们讨论时就有过争论.

电商命脉:转化率提高法

- 雪冬 - 月光博客
  行业内,一般电子商务站点转化率为3%.但也有很多站点的转化率做到了10%,而极个别顶尖零售商转化率做到了15%,他们是怎么做到的.   纽约时报畅销书作家Bryan Eisenberg在一次个人演讲中揭示了高转化率网站的秘密和实现方法,以下是他演讲的精髓部分:. 从根本上讲,转化率是衡量你说服访问者进行你预想销售结果的表现,是任何一家电子商务公司在作出努力后所希望得到的结果.

再说转化率:变现的算法

- - 所有文章 - UCD大社区
很有趣,过年时候写的文章 《说说转化率》,三个月后被几个地方转载了,当时我还觉得自己的科普很没意义似的. 就着最近经常被各种记者和同行问到的“蘑菇街的变现转化”的问题,整理一下,就用上一篇的方式,再跟大家分享一下好了. 我们上次说了,像我们蘑菇街这种解决用户“买什么”问题,并为电商引导成交的网站而言,很重要的一块收入,就是来自电商网站的佣金.

网站转化率与漏斗模型

- - 人人都是产品经理
摘要:漏斗模型适用于网站中某些关键路径的转化率的分析,以确定整个流程的设计是否合理,各步骤的优劣,是否存在优化的空间等. 试着去了解用户来你的网站的真正目的,为他们提供合理的访问路径或操作流程,而不是一味地去提高转化率. 前段时间刚完成了一个分析网站流程的每个步骤的流失率,并用漏斗模型进行展示的需求,这里跟大家来分享一下.

文档格式转化神器pandoc

- - writing for time
作为一个工具控,喜欢被别人安利有趣的东西,我就很喜欢@XD小伙伴时不时的分享,遇到喜欢的东西也不能藏过夜,想快快安利给大家. pandoc的惊艳是那种 风陵渡口,人间初见误终身. 最近要给公司提供一堆文档,作为过去技术开发的总结,其实大多都已经整理在我的个人博客中了. 可毕竟我不能ctrl-s下来吧,文档要的是干净利落整洁清晰,html参杂了博客的样式,显然不合适,同时公司喜欢归档pdf或是word格式的文件.

移动网站转化器DudaMobile又一里程碑:成功转化100万个网站

- - 雷锋网
据国外媒体报道,移动网站转化器 DudaMobile近日树起了又一里程碑——成功为100万个网站生成移动版本. 早前, 雷锋网曾对 DudaMobile进行过报道,它是一个主要针对中小企业的移动网站自助转化平台,用户只需输入网站的URL,便可马上拥有该网站的移动版本,为网站用户提供随时随地的便捷服务.

pdftohtml – 将PDF转化为HTML | 小众软件 > 实用工具

- Guan - 小众软件
pdftohtml 可以将 PDF 转化为 HTML ,便于嵌入网页中,并且可以提取 PDF 中的图片. pdftohtml 是一款开源、跨平台软件,支持 linux , win , mac 等. pdftohtml 没有 GUI 界面,需要在 CMD 中操作:. 把 PDF 文件复制到软件目录中,在 CMD 中运行 pdftohtml xxx.pdf ,软件会自动转化 HTML 文件并提取 PDF 中的图片.