万能解码框架简介:
1.ffmpeg
多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。
国内很多手机客户端都是集成这个开源框架。
http://www.oschina.net/p/ffmpeg/
http://bbs.chinavideo.org/forum.php
没有Android版本,就把c文件打包so文件用于安卓。
2.VLC
VLC多媒体播放器(最初命名为VideoLAN客户端)是VideoLAN疾患的多媒体播放器,它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影音光盘及各类流式协议。它也能作为unicast或mulicast的流式服务器在IPv4或IPv6的高速网络连接下使用。它融合了FFmpeg计划的解码器与libdvdcss程序库使其有播放多媒体文件及加密DVD影碟的功能。(改一点代码特别麻烦,后转ffmpeg)
官网:http://www.videolan.org/
有Android版本
http://www.videolan.org/vlc/download-android.html
3.Vitamio万能解码框架:在Android和IOS平台上直接使用。
Vitamio能够流畅播放720p甚至1080p高清MKV、FLV、MP4、MOV、TS、RMVB等常见格式的视频,还可以在Android与iOS上跨平台支持MM5、RTSP、RTMP、HL5(m3u8)等常见的多种视频流媒体协议,包括点播与直播。
里面封装了ffmpeg。
2.清单配置文件权限和InitActivity配置
3.把自己写播放器Activity复制一份改名为VitamioVideoPlayer,把里面VideoView和MediaPlayer的包全部改为VItamio包,同时写一个Vitamio的Videoview,把自定义屏幕尺寸的方法复制
4.把上述布局文件复制改命为activity_vitamio_video_player.xml,并且把里面VideoView替换成Vitamio的;
5.初始化Vitamio库,在布局文件加载之前:
Vitamio.isInitialized(this);
6.当系统播放器播放出错的时候跳转到VitamioVideoPlayer播放;
a.把数据按照原样传入vitamio播放器
b.关闭系统播放器
真机不能启动原因之一是targetSdkVersion要和vitamio-sample保持一致,同时在VitamioVideoPlayer中重写onError监听,如果在万能播放器中播放出错,则要弹窗关闭。
最后屏蔽两个页面切换时的动画:http://blog.youkuaiyun.com/lingbulei/article/details/78595419
1.ffmpeg
多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。
国内很多手机客户端都是集成这个开源框架。
http://www.oschina.net/p/ffmpeg/
http://bbs.chinavideo.org/forum.php
没有Android版本,就把c文件打包so文件用于安卓。
2.VLC
VLC多媒体播放器(最初命名为VideoLAN客户端)是VideoLAN疾患的多媒体播放器,它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影音光盘及各类流式协议。它也能作为unicast或mulicast的流式服务器在IPv4或IPv6的高速网络连接下使用。它融合了FFmpeg计划的解码器与libdvdcss程序库使其有播放多媒体文件及加密DVD影碟的功能。(改一点代码特别麻烦,后转ffmpeg)
官网:http://www.videolan.org/
有Android版本
http://www.videolan.org/vlc/download-android.html
3.Vitamio万能解码框架:在Android和IOS平台上直接使用。
Vitamio能够流畅播放720p甚至1080p高清MKV、FLV、MP4、MOV、TS、RMVB等常见格式的视频,还可以在Android与iOS上跨平台支持MM5、RTSP、RTMP、HL5(m3u8)等常见的多种视频流媒体协议,包括点播与直播。
里面封装了ffmpeg。
集成Vitamio:importMod
---------以下为既成方法:----------------------------------
1.compile project(':vitamio')2.清单配置文件权限和InitActivity配置
3.把自己写播放器Activity复制一份改名为VitamioVideoPlayer,把里面VideoView和MediaPlayer的包全部改为VItamio包,同时写一个Vitamio的Videoview,把自定义屏幕尺寸的方法复制
4.把上述布局文件复制改命为activity_vitamio_video_player.xml,并且把里面VideoView替换成Vitamio的;
5.初始化Vitamio库,在布局文件加载之前:
Vitamio.isInitialized(this);
6.当系统播放器播放出错的时候跳转到VitamioVideoPlayer播放;
a.把数据按照原样传入vitamio播放器
b.关闭系统播放器
真机不能启动原因之一是targetSdkVersion要和vitamio-sample保持一致,同时在VitamioVideoPlayer中重写onError监听,如果在万能播放器中播放出错,则要弹窗关闭。
最后屏蔽两个页面切换时的动画:http://blog.youkuaiyun.com/lingbulei/article/details/78595419