博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java将视频转换为flash
阅读量:2455 次
发布时间:2019-05-10

本文共 1492 字,大约阅读时间需要 4 分钟。

 挺久没动笔写blog了,换了新工作比较忙是一个原因。最近的工作是做一个素材管理的系统,其中有个要求做视频预览,将用户上传的视频转换并在网页上预览。在网页上看视频,现在大多数视频网站都是采用flv流媒体文件,用flash做的播放器播放,我们也采用了这种方式。流程大概主要:用户上传文件->后台转换文件成flv格式->flv播放器调用flv文件。

    转换视频、音频文件到flv格式可以使用mencoder或者ffmpeg,我们采用了mencoder,在linux上的安装参考,安装结束后记的设置环境变量:export LD_LIBRARY_PATH=/usr/local/lib:LD_LIBRARY_PATH
    java调用的话就是通过Process:

 Process process 
=
 runtime.exec(cmd);

mencoder转换视频音频成flv命令:
mencoder 源文件 -o 目标文件.flv -of lavf    -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=400:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1 -vf scale=200:-3 -ofps 12 -srate 22050
取视频元信息命令(视频比特率、长宽等信息):
mplayer -identify 文件名 -ao null -vo null -frames 0
切割视频命令:
mencoder -ss 开始时间 -oac copy -ovc copy -endpos 终止时间 文件名 -o 目标文件名
    操作flv文件(给视频打上信息、切割之类)可以采用。
   
    需要注意的是通过java调用的话,一定要处理标准输出和标准错误输出,不然进程会挂在那结束不了,可以开个线程取处理。在网页播放的话,可以考虑用,具体参数看它的说明。最后一个问题,IE6的flash控件需要激活,这个问题的解决可以采用。
    有兴趣的老大们可以考虑自己搭个“土豆网”,说不定哪天拿了风投.....浮云

====================================================

 

视频网用户上传了视频有很多种格式如rm,wmv,mpg,avi等等

如何把这些格式的视频统一转换成flash 文件swf
用java如何实现 呢?
解决方案一:
java调用ffmpeg执行视频转换
ffmpeg.exe能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)
对ffmpeg.exe无法解析的文件格式(wmv9,rm,rmvb等),
可以先用别的工具(mencoder)转换为avi(ffmpeg能解析的)格式;
mencoder.exe;drv43260.dll;pncrt.dll这3个文件是为文件格式(wmv9,rm,rmvb等)
转换为avi(ffmpeg能解析的)格式准备的;再把转换好的avi文件再用ffmpeg.exe转换成flv格式的视频文件。。。
缺点: 要装第三方东西,麻烦
解决方案二
用jmf。编程以前,你需要安装JMF。麻烦
而且 jmf 不支持 所有平台
解决方案三:
   ...........
大家 还有什么想法啊,欢迎贴出来

转载地址:http://bgbhb.baihongyu.com/

你可能感兴趣的文章
为什么优酷站点限制不了_什么是站点可靠性工程师,为什么要考虑这个职业道路
查看>>
少儿编程几种语言_您使用了几种编程语言?
查看>>
编程道场_编码道场教给我有关敏捷的知识
查看>>
视频分辨率和音频质量_高分辨率音频的声音是否比CD质量好?
查看>>
哪种编程语言好找工作_哪种编程语言可以工作? 为了周末?
查看>>
onenote组织知识体系_如何提升组织的安全专业知识
查看>>
python scikit_如何将Scikit学习Python库用于数据科学项目
查看>>
重启openstack服务_如何“ Kubernetize” OpenStack服务
查看>>
python编写函数_如何用Python编写自己喜欢的R函数
查看>>
Linux用户:您上一次使用Windows已有多长时间了?
查看>>
30个Linux安装案例,Make和Makefile说明,Linux工具,容器安全性,DevOps技巧等
查看>>
构建rpm包_如何构建rpm包
查看>>
linux 窗口管理器_您最喜欢的Linux窗口管理器是什么?
查看>>
makefile 无法工作_什么是Makefile,它如何工作?
查看>>
什么是ci/cd_什么是CI / CD?
查看>>
bash awk_Bash指南,Linux终端技巧,DevOps错误,Python,awk,NASA等
查看>>
linux中c语言生日快乐_生日快乐,Linux:27岁
查看>>
linux gnome_GNOME,生日快乐:喜欢这个Linux桌面的8个理由
查看>>
安卓 dump 工具 影响_工具如何影响文化?
查看>>
vim使用zsh_使用zsh,坚固的DevOps工具,Python库,vim,shell dotfile,Linux命令等来提高生产力
查看>>