ffmpeg播放视频是不是会内存泄漏

小乌龟在大乌龟背上 2016-12-04 11:04:06
一个视频我重复打开几次~内存杠杠的往上长~检查了数遍我对所有的malloc都free了,是不是这个api的原因呢?
...全文
1013 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
分给你们俩吧,我SB了 没释放视频的Avcodeccontex,只释放了音频~
qprevf 2016-12-07
  • 打赏
  • 举报
回复
想你说的这种内存泄露我是没发现。lz是自己改代码调用的吧?自己检查下代码吧~~~
Little柯南 2016-12-05
  • 打赏
  • 举报
回复
你是怎么使用的? 建议你看看雷晓华的博客
为了避免大家浪费时间,直接先看下面的 Gif,略大,请耐心点。看完后,若你觉得需要到,那么就请听我继续。gif 链接 http://123.57.244.105:8081/commentthumb/GIF.gifgit显示,略大,请耐心GitHub 链接废话一句:这个显示只是其中一部分,重点是:FFmpeg Camera 的录制部分,所以,你的星星(star)也是一种更新通知 (我通知你)。https://github.com/af913337456/WeChatVideoView功能点如果你看完上面的gif图,你发现如下几点功能 (Function list):1,直观的播放前,可以显示封面缩略图播放时,如果还没有本地缓存,那么先进行下载下载过程中,显示圆型区域进度效果下载后,播放完毕后可以循环播放播放已经播放过的,是具备本地缓存的,也就是既能播放网络,也能播放本地2,隐藏的低耗电量低内存占用无延迟图与视频切换低耦合,高内聚,几行代码接入,一共3个类解析直观的功能点,几乎就是和新版微信的一样,从朋友圈点击一个视频,然后进入到一个 Activity 页面进行加载以及播放。为什么低耗电量和低内存占用?因为采用的是 SurfaceView 而不是 TextureView,图与视频切换的切换延迟也是这个原因。在你的 Activity 中这样使用这样就以 id 为 activity_main 的 Relativelayout 为父容器装载。因为要避免内存泄露,所以你还需要做完下面的一些步骤,不超过6行代码。技术点 (可以不看)1,下载操作:自定义 AsyncTask。PS:AsyncTask 比 Thread handler 重量级却方便(回调进度),但是,如果是 即放即用,结束即销毁,那么,no need to think about this;2,视频播放组合拳: surfaceView mediaPlayersurfaceView 用作显示,mediaPlayer 用来解码两者关系: mediaPlayer 绑定 surfaceView。为什么不用 TextrueView?3,进度区域自定义 View,3个画笔绘制,一个圆,一个边,一个扇区。作者:林冠宏 / 指尖下的幽灵掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8博客:http://www.cnblogs.com/linguanh/GitHub : https://github.com/af913337456/
接口 从插件内部排序时修复丢失的文本 在离开窗口时清除/保存焦点历史,焦点在父文件夹项目上 图片幻灯片修复(Estuary) 订阅控制器安装事件(游戏) 修复单选按钮文本长度(Estuary) 修复视频插件的季节/剧集格式(视频) 不要认为显示模式ids不变(Android) 播放/显示 修复PlayMedia内置播放列表(.strm)和“艺术家”智能播放列表(音乐) 修复PlayMedia内置的智能播放列表和播放列表(音乐) FFmpeg:Bump to 4.0.4-Leia-18.4 从流属性加载程序而不使用streaminfo(视频) 修复AVD3D11VAContext结构的初始化(视频,Windows) 修复与PR16314相关的TS恢复点(视频) 固定内存泄漏,固定段错误(视频,Linux) 修复PAPlayer以处理TrueHD(音频)的直通 PVR 修复组件依赖性 PVRRecordings:防止对视频数据库的并发调用 其他/一般修复 在添加网络对话框中使用附加组件中的第一个协议 在文件+目录工厂中使用完全匹配协议 绝对路径与URL中的主机结合使用 修复vfs插件的文件时间 修复+签名HTTP文件夹 对文件系统CircularCache初始化和终止的更正 控制器修复 刷新视频信息时删除流详细信息 不要尝试进一步解决失败条目的插件路径 还原“已修复:我们应该始终更新播放器的流细节...” 我的设备要下载哪个版本? exe文件:适用于使用windows系统的计算机。 apk文件:适于于android系统。其中又分为arm(arm是32位cpu,arm64是64位cpu)和x86两种类型架构。一般的手机、机顶盒都是arm架构,选择arm.apk下载即可。 .deb文件:适用于苹果手机平板。安装方法 .dmg文件:适用于苹果桌面系统。可用鼠标将文件拖到“应用”文件夹即完成安装。

2,275

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧