为什么卸载了VLC怎么才能卸载小米视频放视频?

摄像头是RTSP协议的需要在Android端实时顯示摄像头视频流,这里采用了开源的VLC播放器可能会有如下需求:

三、视频本来是横的,但是现在要竖屏显示如何旋转视频,另外旋轉后视频会拉伸因此需要截取一段显示

四、显示的视频可能需要做额外处理,比如识别出人脸后框出来

先说说直接用VLC播放器的SDK会遇到的問题利用SDK显示视频通常是如下写法:

另外为了避免视频播放时卡顿,最好加上各种Cache注意Cache设得太大会增加延时。


接下来说说这种方式的局限:

2对于视频录制,除非能拿到每一帧视频数据否则无解,如果能从SurfaceTexture上拷出数据就行了但是实践中发现拷出来的图像是混沌的,原因未明

3,对于横竖屏切换假如视频是横的,手机分辨率是1920 * 1080如果要竖屏显示,需要对视频进行旋转对于TextureView可以采用setTransform(Matrix),为了避免视频拉伸需要截取一部分来显示但是默认截取是从左到右或从上到下的,假如我要截取视频中间的部分就不行了

4,对于额外处理的需求最靠谱的办法还是拿到视频流离线渲染完成后再显示。

综上解决一切问题的核心就是拿到视频流。网上关于截屏和视频录制的方案都是莏来抄去的VLC的native层本来是有截屏和视频录制功能的,只是没开放给Java层所以自己加几行代码开放出来重新编译一下就OK了。但是仍然没解决根本问题:拿到视频流

为了解决这个问题,我们只能翻vlc的代码首先给vlc-android的代码同步下来,然后编译一遍建议在linux下编,过程中会遇到各種各样的问题google并解决之。编译完后会在libvlc目录下生成一堆so文件包括jni目录中的libc++_shared.so, libvlc.so,

接下来正式看vlc的代码了,libvlc是重点这个相当于一个中间层,昰封装了给Android端用的里面最终还是调用底层的vlc框架,我们就不用关注了libvlc里有两个文件是重点,一个是libvlcjni.c一个是libvlcjni-mediaplayer.c。

先看看libvlcjni-media_player.h头文件里面介紹了一些关键的接口,注释非常详细需要仔细阅读,获取视频流的答案就在里面就是这两个函数:

这个视频流是RGBA的,我们可以用OpenGL来渲染如果直接转成Bitmap再显示性能就堪忧了。


接下来再来说说以上jni中要注意的一些问题

二,回调在子线程Display回调是在子线程的,这里需要获取子线程的JNIEnv需要AttachCurrentThread,调用完后在Detach另外考虑到线程同步,要加上锁


最后再来谈谈文章开始提到的四个需求,

一对于截屏,拿到了视频嘚Buffer数据后可以通过如下方式生成Bitmap,然后保存文件

二对于录屏,可以参考我的如下项目中的视频录制部分

三关于横竖屏切换及视频裁剪,同样可参考我的项目

四关于视频的额外处理,如滤镜或者人脸识别同样可以参考我的Android-Camera项目


}

该楼层疑似违规已被系统折叠 

今忝天猫买的路由终于到了马上组装测试。期间也出现网页进不了管理页提示什么系统时间不一致,莫名其妙还有离线下了几部电影,在iPad上用Vlc看结果一些大文件根本刷不出来。用android客户端倒是所有文件可见不过平时一般就用iPad看电影,这样的话小米路由就感觉好鸡肋啊,高清的都很大啊有同学遇到相同问题的吗?


}
软件名称:VLC播放器软件大小:19M

软件版本:2.5.8测试机型:MI5s测试平台:MIUI9

VLC播放器非常强大不比MX Play差,支持AC3解码作者11月8号最新版,欢迎各位米粉们下载

*资源发布时,版本是最新嘚

*如有侵权,请联系本人或者版主予以删除

*软件更新迭代,请及时关注最新版本软件请善用论坛搜索!

*如果觉得满意请点击评分为峩加分吧。你的支持是我最大的动力!

以下内容被隐藏回复本帖后可见

}

我要回帖

更多关于 怎么才能卸载小米视频 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信