`
hgfghe3
  • 浏览: 52558 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

flv视频转换和flash播放的解决方案

阅读更多

凌晨2点洗澡的时候,突然决定把flv的视频转换和在线播放的问题研究一下。于是在之后花了2小时进行Google,并在睡觉前初步试验成功。今天晚上对这些信息进行了一下整理,分享给大家。
youtube火起来以后,国内外跟进的一大把,不过技术和流程上没有任何突破,基本上就是服务器自动对用户上传的视频进行压缩,压成可以用flash在线播放的flv,缩小尺寸并降低码率。然后再用Flash制作一个播放器,可以根据参数在线播放指定的flv视频,当然有些还会加上水印和跳自己网站等功能。
转换工具可以选择ffmpeg和mencoder,这2个都是gnu项目,并且可以非常完美的在linux/Mac/Win32等平台下使用。不过ffmpeg支持的视频格式较少(不能很方便的支持rmvb,mov等,不过据说Google Video用的是这个),而mencoder则不能进行截图,所以可以考虑2者结合使用,mencoder负责转换,ffmpeg负责截图。
关于下载和安装,ffmpeg烦一点,官方网站上只提供了svn,需要自己编译。具体可以参考
[url=http://blog.5ilinux.com/archives/2006/08/ffmpeg.html]
这篇文章
[/url]
,Windows还需要装MinGW来MSYS模拟linux环境,偷懒的话可以直接找个
[url=http://ffdshow.faireal.net/mirror/ffmpeg/]
编译好的版本
[/url]
,不过功能可能会不全。
mencoder则很简单,本来就是
[url=http://www.mplayerhq.hu/]
mplayer
[/url]
的一部分,会装mplayer就成。注意把
[url=http://www1.mplayerhq.hu/MPlayer/releases/codecs/]
codecs
[/url]
都装全了
首先通过mencoder把普通视频转化为flv格式,命令如下
代码
mencoder test.avi -o test.flv -of lavf -oac mp3lame -lameopts abr:br=32:mode=3 -ovc lavc -lavcopts vcodec=flv:vbitrate=150:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -srate 22050 -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -vf scale=350:-3 -sws 2
mencoder 的参数超级复杂,视音频压缩本身又是一门非常高深的学问,本人略知皮毛,下面只对自己了解的一些参数做些说明,详细解释请看
[url=http://net.ytu.edu.cn/share/%CE%B4%B7%D6%C0%E0/mplayer.html]
手册
[/url]
引用
test.avi
输入文件路径,是Mplayer能支持的格式即可
-o test.flv
输出路径
-of lavf
输出格式 lavf表示libavcodec
-oac mp3lame
输出音频编码方式,lame是最好的mp3编码器
-lameopts abr:br=32:mode=3
lame的选项
abr代表平均码率,相对于cbr(固定码率)和vbr(可变码率,貌似不支持)
br就是音频的码率,越高音质越好
mode=3,0-3分别代表Stereo,Joint Stereo,Force ms_stereo,Mono(默认为自动,事实上1和3对文件大小的影响并不是很大)
另外可选的还有 vol(音量,取值0-10,数值越大音量越大,不建议修改)等
-srate 22050
声音采样频率设置,也可以选11025,文件可以稍小一点
-ovc lavc
输出视频编码 lavc就是libavcodec
-lavcopts
lavc的的选项
codec=flv flv格式压缩
vbitrate=150 视频码率
其他几个选项一概不懂,请看手册(一般来说看了还是不懂)
-vf scale=350:-3 -sws 2
缩放视频,指定宽度为350,高度按比例来。质量由-sws选项控制,具体看手册
-ofps 23 设定帧数,缩小帧数对节约文件大小效果不明显,且可能造成画面声音同步。建议不设置
mencoder压缩后生成的flv缺少meta信息,会造成播放时没有进度条等问题,需要再用
[url=http://www.buraks.com/flvmdi/]
flvmdi
[/url]
修复一下
代码
flvmdi test.flv
生成后的flv通过[url=http://www.stormplayer.org]MPC[url]就可以预览。
ffmpeg截图
代码
ffmpeg -i test.flv -ss 10 -vframes 1 -r 1 -ac 1 -ab 2 -s 320×240 -f image2 test.jpg
-ss 10 就是说1秒后的那一帧
然后生成flash视频播放器的话,网上例子很多,自己对Flash研究也不深,也就不多说了,要自定义播放器界面的参考
[url=http://www.adobe.com/cn/devnet/flash/articles/custom_flvcomp_print.html]
这里
[/url]
唯一需要补充一下的是视频的smoothing属性,现在的在线播放器尺寸一般都回比实际压缩后的视频尺寸大一些,smoothing=true可以保证放大的质量(包括全屏后的),具体的文章见
本文转自:http://www.5uflash.com/flashjiaocheng/Fmsjiaocheng/2366.html
分享到:
评论

相关推荐

    不使用flash播放器,使用jquery播放flv视频.zip

    1. **HTML5 Video元素**:HTML5引入的Video元素是播放视频的核心,可以支持多种视频格式,但不包括FLV。所以需要额外的技术来支持FLV。 2. **FFMPEG**:可能需要使用FFMPEG这样的工具将FLV视频转换为HTML5 Video元素...

    flv的视频转换和在线播放

    2. **HTML5 Video**:现在,HTML5的`<video>`标签是主流的在线播放解决方案,它支持多种视频格式,如MP4、WebM和Ogg。为了支持FLV,可以使用如Video.js这样的库,通过JavaScript和Flash插件实现跨浏览器的兼容性。 3...

    flv视频转换器 艾奇flv视频转换器 绿色 免安装

    对于FLV格式,无论是从其他格式转换成FLV,还是将FLV转换为其他常见的视频格式如MP4、AVI、WMV等,艾奇FLV视频转换器都能轻松应对。它支持批量转换,用户可以一次性添加多个视频文件,大大提高了工作效率。此外,该...

    C# winform 播放自动flv

    因此,另一种更现代的解决方案是使用FFmpeg库将FLV视频转换为更通用的格式,如MP4,然后使用.NET框架内置的MediaElement控件进行播放。这将涉及到FFmpeg的C#绑定库,如NReco.VideoInfo或FFmpeg.NET。 如果你选择这...

    JAVA系统下的FLASH,FLV视频应用解决方案.doc )

    ### JAVA系统下的FLASH,FLV视频应用解决方案 #### 一、引言 随着互联网技术的发展,视频内容在网络上变得越来越流行。FLV(Flash Video)作为一种流媒体格式,因其基于Flash播放器而广受青睐。本文章旨在探讨如何在...

    FLV视频转换工具

    4. **FLV2MPG.exe**:这可能是一个专门针对将FLV转换为MPEG格式的工具,MPEG是一种常见的视频格式,适合保存和分发高质量的视频内容。 5. **ffmpeg_FAQ.htm**:这是一个常见问题解答文件,用户可以通过查阅这个文件...

    flv视频转换工具

    《全面解析:FLV视频转换工具及其应用》 在数字化媒体盛行的时代,视频格式的转换已成为许多用户日常操作的一部分。...在选择转换工具时,应综合考虑其功能、性能、易用性和安全性,以找到最适合自己的解决方案。

    FLV视频播放代码

    5. **JavaScript库**:除了使用Flash Player,还可以借助JavaScript库,如JW Player、FlowPlayer等,它们提供了跨浏览器的FLV视频播放解决方案。这些库通常提供了丰富的API,允许开发者自定义播放器外观和行为。 6....

    前端在线播放flv视频

    这个JavaScript库允许在现代浏览器中解析和播放FLV视频,而无需Flash。Flv.js实现了HLS.js的API接口风格,使得开发者可以轻松地集成到自己的项目中。 要使用Flv.js,首先需要在项目中引入其JavaScript文件。通常,...

    asp.net flv播放 转换

    常见的解决方案是使用Flash组件,例如JW Player或FlowPlayer,它们都支持FLV格式,并可以通过JavaScript API与ASP.NET页面进行交互。你还需要确保用户的浏览器安装了Adobe Flash Player插件,因为这是播放FLV文件的...

    网页在线flv转换代码

    总结来说,这个在线FLV转换代码项目利用了mencoder进行视频格式转换,并通过ASP.NET构建了一个用户友好的Web界面,允许用户方便地在线转换和播放视频。同时,它还结合了Flash Player组件,提供流畅的视频播放体验。...

    FLASH在线视频播放的解决办法

    ### FLASH在线视频播放的解决办法 #### 一、FLV流媒体格式介绍及...综上所述,FLV流媒体格式为在线视频播放提供了一种高效、便捷的解决方案。通过合理的配置和技术支持,可以轻松实现高质量视频内容的快速分发和播放。

    纯java代码实现各种视频转flv格式,支持在线播放。

    FLV是一种流行的网络流媒体格式,主要由Adobe Systems开发,用于在Flash Player中播放视频和音频内容。它的优点在于文件体积小、加载速度快,特别适合在网络上传输和在线播放。 Java作为一种跨平台的编程语言,具有...

    Java视频转换FLV

    Java视频转换FLV是一项在IT领域中常见的任务,主要用于将不同格式的视频文件转换为FLV(Flash Video)格式,这种格式广泛应用于网络流媒体播放。在这个过程中,我们通常会用到开源工具FFmpeg,它是一个强大的命令行...

    ZC Video to FLV Converter 视频转换器

    ZC Video to FLV Converter,这款专业的视频转换工具,以其高效、便捷的特性,为用户提供了将各种流行视频格式转化为Flash视频(FLV)的解决方案。本文将深入探讨该软件的功能、工作原理以及其在不同场景下的应用,...

    FLV to AVI视频转换工具

    因此,将FLV转换为AVI,可以确保视频在不同平台和设备上的无缝播放,同时为后期编辑提供更多可能性。 "FLV to AVI视频转换工具"的操作流程一般非常简单。首先,用户需要将待转换的FLV文件添加到软件中,这可以通过...

    全功能FLV转换工具

    总的来说,Allok Video to FLV Converter是一款专业且全面的视频转换工具,它以其广泛的格式支持、灵活的参数设置、高效的转换速度和友好的用户界面,为用户提供了便捷的FLV转换解决方案。无论你是个人用户还是专业...

    视频上传ffmpeg转码flv、截图播放点播播客解决方案代码

    本解决方案中提到的91视频转码系统,利用 FFmpeg 的功能,简化了视频上传、转码和播放的过程,使得非技术人员也能轻松实现视频服务的搭建。系统分为三个主要步骤: 1. **视频上传**: - 首先,通过集成 SWFUpload ...

    flv视频转换

    首先,FLV格式是由Adobe Systems开发的,用于在网络上传输和播放流媒体视频。它与Adobe Flash Player紧密关联,但在移动设备和不支持Flash的平台中并不普遍。相反,MP3是一种流行的音频格式,具有较高的兼容性和便携...

Global site tag (gtag.js) - Google Analytics