
音视频
文章平均质量分 78
码农突围
这个作者很懒,什么都没留下…
展开
-
AI 加持实时互动|ZegoAvatar ⾯部表情随动技术解析
精准捕获面部表情,实时还原表情随动效果原创 2022-06-15 10:00:00 · 459 阅读 · 1 评论 -
这个用Java写的开源音乐播放器,我粉了
随着版权意识的增强,如今,想听几首歌,都得下载好几个音乐软件,这也就算了,大部分音乐还都是付费,安装这么多APP或许还说的过,但是对于不是粉丝的人来说,付费听歌都不怎么愿意,于是就开始寻找免费的音乐下载,这时候要是有一个音乐播放器那就完美了。近日,猿妹发现一个用Java编写的音乐播放器——MusicPlayer,支持 Win / macOS/平台,整体界面如下:MusicPlayer具有如下特性:播放清单,你可以通过以下方式将歌曲添加到播放列表:选择一首歌曲后,单击“将歌曲添加到播放列表”按钮。转载 2021-07-16 21:07:50 · 557 阅读 · 0 评论 -
2021-06-02
一瓶矿泉水,三个馒头,就是一餐,一条90后北大数学老师的视频爆红网络。他就是韦东奕,15岁拿下IMO国际数学竞赛金奖,18岁保送北大,哈佛还为争取他不惜打破百年校规。这位北大数学老师一夜之间圈粉无数!手提一瓶矿泉水、三个馒头,朴素得像个「学生」。他,是北大数学系的老师——韦东奕。他,「横扫」各种数学竞赛『金奖』。网友称其为超脱外物的「韦神」。韦东奕接受采访时自我介绍称,「我是北京大学数学系2010级本科生、2014级研究生,反正现在是老师,是北大的老师」。就这么几句简单的介绍,却让很多人都转载 2021-06-02 17:12:50 · 515 阅读 · 0 评论 -
因提供18禁动漫,毒害未成年人,国内最大动漫网站被重罚
作为二次元 动漫迷们必备的在线观看漫画工具,那么“动漫之家”肯定是每个人必入坑之一,毕竟它的上线时间也是于2005年的时候。最早一批的动漫网站,很早二次元喜欢的人,就在里面进行打卡分享番在这网站里的,也有业余大佬汉化组为网站发电提供内容!主要吧之前市场的管理制度不算严格,所有漫画没有按照进行审核删减,都是各种类型的漫画因有尽有,然而随后人们版权意识提高,所以各种盗版以及内容是否符合核心价值观也是人们所聊到的话题!网上能依稀看到2013年央视点名批评进击巨人,除了点名批评外,在2015年6月8日。转载 2021-04-06 20:07:01 · 1227692 阅读 · 0 评论 -
再见!杭州!再见!阿里巴巴!
最近和在北京的朋友老冯聊天,老冯说他要离开阿里了,我和老冯是在14年北京租房时认识的,当时老冯招租室友,我加了微信,约看房,后来才知道他也是个程序员,但是因为我那时没啥钱,最后和我另外一些做开发朋友一起合租了。虽然没有一起合租,但是都是程序员,都是一个方向的开发,也经常和老冯一起玩。关于老冯的详细介绍,可以看去年写的这篇文章《在阿里工作几年,女友跑路,晋升无望,买不起房,我活成了一个笑话~》当时我建议老冯跳槽,但是老冯觉得再自己最落魄的时候去市场跳,没有优势,所以想再争取升了P7,然后再走。所以他去年下半原创 2020-06-05 22:05:00 · 7495 阅读 · 14 评论 -
流媒体解码及H.264编码推流
简介相关理论程序流程Opencv解析视频流像素格式转换FFmpeg进行H.264编码FFmpeg进行格式封装和推流这里我们使用了FFmpge的sdk和Opencv的sdk。为了方便测试,我们直接使用在线的rtsp网络流。rtmp://live.hkstv.hk.lxdns.com/live/hks这个是香港卫视的rtsp流,可以用vlc播放器测试是否可以播放。FFmpeg支持的像素格式1 所有的像素格式的名称都是以“AV_PIX_FMT_”开头2 像素格式名称后面有“P”的,代表是p转载 2020-05-08 20:36:39 · 2165 阅读 · 1 评论 -
HLS直播(M3U8)回看和下载功能的实现
流媒体始终是大众生活娱乐最为重要的一个部分,同时也是技术开发中比较有难度的,尤其是直播,不仅功能是点播无法替代的,开发难度也要比点播大,里约奥运会等重大体育赛事大家只能通过直播观看比赛,体会现场观看的紧张和刺激,点播是无法做到的。如今我们也会有直播回看和下载的需求,一些APP包括我们自己的项目也已经实现了这些功能,网上讲解这部分技术的知识相对较少,而且有很多都不是很靠谱,我这里抛砖引玉,给大家提...转载 2020-04-30 21:14:06 · 7047 阅读 · 0 评论 -
详解音视频中的DRM数字版权技术
今天主要开始讲解一下安卓视频开发的DRM这个问题,DRM是英文Digital rights management的缩写,可以理解为版权保护。众所周知,视频或者音频的盗版问题是困扰发行商的一个大麻烦,因为盗版的横行会直接导致发行商利润的减少。那么像在PC端或者移动端的在线/离线多媒体内容的播放上,发行商又能怎么解决呢?比如之前优酷很火的《白夜追凶》这种电视剧vip的会员可以享受离线观看。假如说...转载 2020-04-28 20:41:04 · 1850 阅读 · 0 评论 -
仿最新BiliBili客户端(已开源)
前言该项目仿照B站的Android客户端进行开发,初衷是想学习流行的Android技术,但是没有数据资源。因为喜欢逛B站,而且B站的Android客户端又是Google推荐的MD设计规范,于是花了些时间研究B站的网络请求,最后成功搞定,与@Android_ZzT同学达成一致,合作开发这个模仿B站的练习项目。该项目在工作之余开发,所以更新时间不定。前期准备一、B站网络请求抓包首先是对B站的网...转载 2020-04-27 20:37:38 · 2912 阅读 · 0 评论 -
Android中如何实现无缝切码流
方式一:1、通常一种切换码流方式,如系统播放器切换码流,先Stop,再Create Player,再onPrepare,再Start方式二:2、实际上还有一种无缝切换码流,如果是单实例播放器,点击切换码流时,不销毁播放器器,只是暂停解码。开始请求新的url中数据,比如下载了有1-2片TS流后,重新送给解码器,重新启动解码,然后渲染输出。达到无缝输出的效果。方式三:3、如果是多实例播放器,...原创 2020-04-24 20:26:56 · 1408 阅读 · 0 评论 -
Android音视频开发之-WebRTC技术实践
背景简介WebRTC是Google于2011年6月3日开源的即时通讯项目,旨在使其成为客户端视频通话的标准。其实在Google将WebRTC开源之前,微软和苹果各自的通讯产品已占用很大市场份额(如Skype),Google也是为了快速扩大市场,所以将他给开源。经常接触开源的人应该很容易理解Google这种策略,只不过在国内大家都喜欢弄成SDK,然后按年按月按用户数给你收费,总让你觉得不爽,呵呵。...原创 2020-04-22 19:41:40 · 1629 阅读 · 0 评论 -
面试常问点:深入剖析JVM的那些事
文章较长,主要讲解了JVM的整个流程,其次介绍Dalvik与JVM的区别及ARTClass文件结构 -> JVM内存模型 -> 类加载器 -> 类加载过程 -> 类的引用方式 -> 内存分配策略 -> GC -> 对象的引用类型 -> 类卸载先前知识众所周知java是一种跨平台的语言,但实际上跨平台的并不是java而是JVM。JVM(Java...转载 2020-04-20 22:28:25 · 1178 阅读 · 0 评论 -
一款使用RxJava+Retrofit+MVP的快播App开源啦!
《快播》,仿网易云音乐UI,整体采用RxJava+Retrofit+MVP的架构,支持在线视频播放,在线图片浏览等功能。用到第三方开源库:ButterKnife:依赖注入框架glide:图片加载retrofit:网络请求jieCaoVideoPlayer:播放器抓取接口用于数据展示效果图如下:基类:package com.zmj.qvod.base;impor...原创 2020-04-17 19:48:37 · 1514 阅读 · 0 评论 -
视频画中画效果,拖动进度条可以seek到相应视频帧显示
在视频开发中,我们常常看到这样的效果,拖动进度条时,或是在进度条上方或是在屏幕中间,显示拖动进度条位置时刻的某一帧画面。这个需求,如果是你,你会如何做?通常一个需求,不仅要考虑实现,还有考虑一些是否有性能上影响。下面我想到的4个方案:1、在拖动过程中,可以通过TextureView来显示预览图,拖动进度条到某个position后,通过textureView.getBitmap()拿到对应...原创 2020-04-15 20:32:17 · 2353 阅读 · 0 评论 -
程序员如何与产品经理优雅的干架
早前,平安产险科技一名外包程序员和一名外包产品经理干架的视频几乎在互联网圈都传遍了,因为产品提了一个需求:要求用户App的主题颜色能根据手机壳自动调整。首先说这个需求对于应用开发工程师来说,确实是有点奇葩,当然并非不能实现。这块涉及图形图像处理,用机器学习和人工智能来提取图像颜色,这是基本图像识别过程,对于采集图像,可以提示对着镜子自拍一张,上传图片,通过大量的训练数据,来识别手机体颜色。当然并...原创 2020-04-10 22:07:07 · 4625 阅读 · 8 评论 -
美团猫眼电影Android模块化实战总结
1 写这篇博客的初衷首先一句话概括:我想把这几个月做的事情记录下来,并且希望尽量详细,希望读者读了这篇文章能够知道项目进行模块化,项目改业务框架可能会遇到哪些问题,具体每个步骤都做什么,而不是大致的了解。现在很多人都在谈模块化,网上有一大堆的博客实践都在讲这个。很多谈的只是模块与模块之间的解耦,并且大部分讲的是通过router路由进行解耦,其他谈的不多,而且不乏泛泛而谈。但将一个app真正做到...转载 2020-04-08 21:41:57 · 3813 阅读 · 0 评论 -
使用libjpeg进行图片压缩
简介由于工作原因,boss下达的任务就大概说了对图片进行压缩寻找比较合理的方式,还举了一个项目中的坑,就是系统原生的Bitmap.compress设置质量参数为100生成图片会变大的坑。所以我打算用一点时间研究研究Bitmap在内存和外存中的情况。首先需要对图片进行压缩,大家都知道图片是Android里面一个大坑,具体的问题有:OOM,一不留神就用OOM来冲冲喜,所以网上就有了很多解决oom问...转载 2020-04-07 21:14:37 · 2417 阅读 · 0 评论 -
音视频的采集、编码、封包成 mp4 输出
使用 Android Camera API 完成音视频的采集、编码、封包成 mp4 输出基于android.hardware.Camera,创建一个横屏应用,实时预览摄像头图像,实现录像并输出MP4的功能。1、申请权限<!-- 需要录制音视频权限和写外部存储权限 --><uses-permission android:name="android.permission.WR...转载 2020-04-03 21:37:55 · 1754 阅读 · 0 评论 -
音视频入门之如何绘制一张图片
Android 的音视频入门学习,首先了解一下绘制图片。在 Android 平台绘制一张图片,使用至少 3 种不同的 API,ImageView,SurfaceView,自定义 View作绘制图片。下面我以SurfaceView作重点来讲,为什么不用其他的来作例子,分析完SurfaceView就是知道为什么要用SurfaceView作例子。SurfaceView我们以下面几个点来了解Surfa...转载 2020-04-02 20:14:23 · 1721 阅读 · 0 评论 -
使用MediaCodec和RTMP做直播推流
目前开源的项目或市面上的Android直播客户端主要是用ffmpeg来实现推流的。本文将介绍使用Android原生的视频编码类MediaCodec实现直播推流。数据流及大致原理这里所说的直播,就是将你的客户端产生的视频数据,实时发送到服务器上。服务器上的数据再实时地发送到播放客户端上。以视频数据为例:获取Camera画面首先是摄像头拍摄得到原始画面数据,这里原始画面数据的格式我们不用管...转载 2020-04-01 20:43:42 · 1869 阅读 · 0 评论 -
美颜重磅技术之GPUImage源码分析
说到基于GPU的图像处理和实时滤镜,大家肯定会想到鼎鼎大名的GPUImage,这个项目确实为后续开发提供了很多方便,基本的图像处理工具一应俱全。但是学习借鉴GPUImage的项目结构,可以为我们提供不小的帮助。GPUImage项目结构GPUImage的项目结构其实很简单,Android版本就更是简陋,结构如下:一堆滤镜(shader以及配套设置参数的代码)FilterGroup(利用FB...转载 2020-03-30 20:27:27 · 1784 阅读 · 0 评论 -
使用TensorFlow进行训练识别视频图像中物体
本教程针对Windows10实现谷歌公布的TensorFlow Object Detection API视频物体识别系统,其他平台也可借鉴。本教程将网络上相关资料筛选整合(文末附上参考资料链接),旨在为快速搭建环境以及实现视频物体识别功能提供参考,关于此API的更多相关信息请自行搜索。注意: windows用户名不能出现中文!!!安装Python注意: Windows平台的TensorFl...转载 2020-03-26 21:32:20 · 2504 阅读 · 0 评论 -
ijkplayer中遇到的问题汇总
在做音频播放的时候,很多公司使用的是开源的ijkplayer播放器,ijkplayer底层是基于ffmpeg,在某机型上面可能常常遇到各种问题。今天整理了大家在使用ijkplayer中遇到的问题,以及根据ijkplayer社区issue和solution方案。如下:1、直播技术总结(三)ijkplayer的一些问题优化记录https://blog.youkuaiyun.com/hejjunlin/arti...原创 2020-03-24 20:22:00 · 3337 阅读 · 1 评论 -
详解如何实现斗鱼、B站等全局悬浮窗直播小窗口
最近业务需求需要我们直播返回或者退出直播间时,开一个小窗口在全局继续直播视频,先看效果图。调研了一下当下主流直播平台,斗鱼、BiliBili等app,都是用WindowManger做的(这个你可以在应用权限列表看看有没有悬浮窗权限,然后把斗鱼的权限禁止,这时候回到斗鱼直播间退出时候就会让你授权了)即通过WindowManger add一个全局的view,可以申请权限悬浮在所有应用之上以此来...转载 2020-03-20 22:35:05 · 3783 阅读 · 0 评论 -
性能比肩美拍秒拍的Android视频录制编辑特效解决方案
前言众所周知,Android平台开发分为Java层和C++层,即Android SDK和Android NDK。常规产品功能只需要涉及到Java层即可,除非特殊需要是不需要引入NDK的。但如果是进行音视频开发呢?Android系统Java层API对音视频的支持在MediaCodec之前,还停留在非常抽象API的级别(即只提供简单的参数和方法,可以控制的行为少,得不到中间数据,不能进行复杂功能的...转载 2020-03-18 21:26:43 · 1965 阅读 · 0 评论 -
吐血干货,直播首屏耗时400ms以下的优化实践
导读:直播行业的竞争越来越激烈,进过18年这波洗牌后,已经度过了蛮荒暴力期,剩下的都是在不断追求体验。最近在帮做直播优化首开,通过多种方案并行,把首开降到500ms以下,希望能对大家有借鉴。背景:基于FFmpeg的ijkplayer,最新版本0.88版本。拉流协议基于http-flv,http-flv更稳定些,国内大部分直播公司基本都是使用http-flv了,从我们实际数据来看,http-...原创 2020-03-17 22:51:42 · 2005 阅读 · 0 评论 -
Python+Android进行TensorFlow开发
Tensorflow是Google开源的一套机器学习框架,支持GPU、CPU、Android等多种计算平台。本文将介绍在Tensorflow在Android上的使用。Android使用Tensorflow框架需要引入两个文件libtensorflow_inference.so、libandroid_tensorflow_inference_java.jar。这两个文件可以使用官方预编译的文件。如...转载 2020-03-16 21:45:56 · 1663 阅读 · 0 评论 -
短视频秒播优化实践(二)
之前我们介绍了在线短视频秒播优化的方方面面,从服务器,cdn部署接入,数据连接/获取,客户端缓存,出帧策略,到视频文件I帧位置等。今天从视频文件格式的另外一个角度介绍,MP4文件的box排列顺序是如何影响,在线短视频的播放以及秒播优化的。MP4文件中的所有数据都装在box中 (iso-14496-12/14)(QuickTime中为atom)即mp4是由若干个box组成的先简单...转载 2020-03-13 22:21:00 · 2038 阅读 · 0 评论 -
短视频秒播优化实践(一)
短视频迎合了人们时间碎片化下的精神娱乐需求,或者现在追求“短平快”的大环境,我也有点短视频中毒,没事经常光顾某几个短视频APP,以至于冷落了某头条和某易新闻基本很少点开了,这些时间加起来holy bible估计都能读好几遍了。当然这是一篇技术文章,其他心理学,社会学问题,产品问题就不在这里讨论了,咱也没那个水平。言归正传,我们也推出了短视频相关的产品。在短视频的体验中,起播速度无疑是最影响体验...转载 2020-03-12 19:48:19 · 4313 阅读 · 0 评论 -
仿抖音上下滑动播放视频
不少朋友对短视频,上下滑动播放视频效果比较比较感兴趣,今天看看这个案例。1、效果图:讲下大概思路,使用Recycleview配合自定义LinearLayoutManager来实现这个功能,这里着重说下自定义LinearLayoutManager的实现可以看到每当下一个item滑入屏幕时,上面的item会继续播放视频,而滑入的item只有当全部进入屏幕才会播放,而且当手指抬起时,当前ite...转载 2020-03-10 20:50:50 · 3231 阅读 · 0 评论