学习
实践
活动
专区
工具
TVP
写文章

android视频系列:视频解码篇--android视频播放的实现

先理解播放的场景,才能更好地理解视频处理时所选取的策略。 播放器做了什么 播放器播放视频,就是一步步剖开视频的内容,显示在屏幕上。 最简单的理解方式,是把视频文件看做一个容纳了很多图片的容器。 我们来看看,Android为我们提供了哪些对象,可以让我们做视频的播放。 Android播放视频 下面我们介绍3种在Android上播放视频的方法。 1. 使用VideoView播放视频 ? 使用MediaPlayer和SurfaceView播放视频 ? Android系统,已经在底层我们打通了一条MediaPlayer到SurfaceView的数据通路,那就是Surface。 总结 以上在Android上实现的三种播放视频方法,从简单到复杂,可以根据自己功能的需要,灵活进行选择。如果只是简单地播放视频,可以使用VideoView。 ---- 作者简介:taoxiong(熊涛),天天P图Android工程师

1.8K131
  • 广告
    关闭

    1元体验视频云点播

    11.11云上盛惠,云点播流量包首购0.01元起,新老同享点播流量包0.08元/GB起,更有点播存储包/点播转码包/点播审核时长包/闲时流量包等7.4折起础版 使用权+1年视频播放 License 使用权

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android NDK | 中文介绍视频

    想让您的 Android APP 有出类拔萃的性能吗?想在支持的设备上为 Machine Learning 框架提供硬件加速吗? 是否想把您其他平台上心爱的游戏和 APP 迅速地移植到 Android 上面来?如果您有这些想法,或者为之所困,也许答案就在您的眼前:Android Native Development Kit! NDK 提供了调试和提高 Android APP 性能的途径与工具;透过 NDK,您可以使用已有的或重新开发高性能的 C/C++ APP。请参考下方 ☟ 视频 ☟ 来了解 Android NDK。 Android NDK | 中文介绍视频 Github 库: github.com/googlesampl… github.com/google/oboe… github.com/googlesampl … 官方文档: developer.android.google.cn/ndk 腾讯视频播单链接: v.qq.com/vplus/78ffb… 欢迎各位亲爱的开发者们在文章下方给我们留言,提出您的问题、

    31940

    OpenGL ES for Android 播放视频

    为什么要使用OpenGL ES播放视频 我们都知道Android中有VideoView控件可以直接播放视频,既简单又实用,那么为什么我们还要用OpenGL ES来播放视频呢? 那是因为使用OpenGL ES可以做更多的酷炫的动效,比如旋转视频、双指缩放视频视频的截图、视频的录制、直播、换脸,还有类似“激萌”App里面的特效等这些都是VideoView所无法实现的,而通过OpenGL shader中u_Texture是纹理,注意它的类型是samplerExternalOES,并不是sampler2D,sampler2D是2D纹理,用于显示图片,而samplerExternalOES是Android 特有的类型,用于绘制视频和相机。 这里我们使用Android API自带的MediaPlayer,我个人建议如果是商业项目请使用[ijkplayer(github开源)](https://github.com/bilibili/ijkplayer

    72220

    Android实现视频弹幕功能

    本文实例为大家分享了Android视频弹幕的具体代码,供大家参考,具体内容如下 效果图: ? ? 上图:代码随机生成的弹幕及弹幕输入栏 下图:绿色框的弹幕为用户手动添加发送的弹幕 1.准备工作 准备一个视频文件,将该视频文件放到res/raw目录下。 ? 需要将视频设置为横屏播放,即往配置文件中添加android:screenOrientation=”landscape”: <activity android:name=".MainActivity" 注:DanmakuFlameMaster的版本最好使用在0.9以上,否则会存在一些弹幕bug 2.布局 使用一个相对布局,弹幕浮于视频之上,底部是弹幕文字输入栏,右下角为弹幕发送按钮: <? :text="发送"/ </LinearLayout </RelativeLayout 3.视频弹幕的实现 <1 播放视频使用VideoView来进行播放; <2 关于弹幕库的使用,需要创建一个

    55431

    Android视频开发:FFmpeg音视频编解码篇】三、Android FFmpeg视频解码播放

    教程代码:【Github传送门】 目录 一、Android视频硬解码篇: 1,音视频基础知识 2,音视频硬解码流程:封装基础解码框架 3,音视频播放:音视频同步 4,音视频解封和封装:生成一个MP4 数据缓冲区 6,Android视频硬编码:生成一个MP4 三、Android FFmpeg音视频解码篇 1,FFmpeg so库编译 2,Android 引入FFmpeg 3,Android FFmpeg 视频解码播放 4,Android FFmpeg+OpenSL ES音频解码播放 5,Android FFmpeg+OpenGL ES播放视频 6,Android FFmpeg简单合成MP4:视屏解封与重新封装 7,Android FFmpeg视频编码 ---- 本文你可以了解到 基于 FFmpeg 4.x 的音视频解码流程,重点讲解如何实现视频的播放。 二、FFMpeg 解码流程简介 在前面的系列文章中,利用了 Android 提供的原生硬解码能力,使用实现了视频的解码和播放。

    1.5K20

    Android视频编码_安卓视频解码器

    SVideoRecorder(https://github.com/yellowcath/SVideoRecorder)使用Android原生的MediaCodec进行视频录制,对比大量使用FFmpeg 编码时间:20~25ms MediaCodec(Surface)编码时间:10~15ms CPU占用低 :ffmpeg录制时占用CPU低端机明显卡顿,MediaCodec录制时几乎无影响 缺点是只支持Android4.3 +(Android4.1和4.2已有MediaCodec,但是官方不保证可用) ---- Android硬编码视频录制 功能简介 使用 初始化 数据帧来源 调用 Demo 功能简介 1、录制相机原始视频 mRecorder.resumeRecord(); //取消,回调OnRecordFail() mRecorder.cancelRecord(); Demo 1、正常录YUV格式视频 2、分段录YUV格式视频 3、分段录带特效视频(Surface) 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184849.html原文链接:https

    15830

    视频直播技术--Android视频采集(Camera1)

    camera1.jpg 前言 今天为大家介绍一下使用Camera1进行视频采集。之前我写过一篇文章介绍的是Camera2进行视频采集。那么有人会问,为什么有了Camera2还要介绍Camera1呢? 这里最主要的原因是因为Android版本众多,Camera2是Google新推出的视频采集架构,但很多老的机型还不支持,所以为了兼容性的问题,我们还不能放弃使用Camera1进行视频的采集。 <uses-permission android:name="android.permission.CAMERA" /> 第二步,动态申请Camera权限。 AndroidAndroid 6.0后,对根限的管理更严格了,除了上面要静态申请权限外,还要通过调用 requestPermissions 函数动态申请Camera权限。 参考 视频渲染之EGL Android视频采集Camera2 http://www.jianshu.com/p/39a015f2996e ----

    1.1K41

    Android Jetpack 导航组件 | Android 中文教学视频

    应用内导航,也就是我们通常所说屏幕切换,一直是 Android 开发很关键的一部分。 我们已正式发布稳定版 Android Jetpack 导航组件,它包含丰富的库、工具和指南,为开发者们提供了一个强劲、完整的导航框架,让开发者可以轻松应对复杂的导航场景。 我们在这个视频中通过一些导航组件的应用实例,向您演示如何通过 "单个 activity 嵌套多个 fragment" 的方法来完成导航工作。 腾讯视频链接: https://v.qq.com/x/page/v0879xupgo0.html Bilibili 视频链接: https://www.bilibili.com/video/av54529064 / 如果您想获取更详细的技术指导,可以查看 Android 开发者网站上有关导航组件的 codelabs 课程和开发文档。

    8340

    Android视频开发打怪升级:FFmpeg音视频编解码篇】七、Android FFmpeg 视频编码

    本文你可以了解到 如何使用 FFmepg 对编辑好的视频进行重新编码,生成可以播放的音视频文件。 写在前面 本文是音视频系列文章的最后一篇了,也是拖了最久的一篇(懒癌发作-_-!!) 在上一篇文章中,介绍了如何对音视频文件进行解封和重新封装,这个过程不涉及音视频的解码和编码,也就是没有对音视频进行编辑,这无法满足日常的开发需求。 因此,本文将填上编辑过程的空缺,为本系列画上句号。 模块 首先可以关注到,这个过程有三个大模块,也是三个 独立又互相关联 的线程,分别负责: 原视频解码 OpenGL 画面渲染 目标视频编码 数据流向 看下视频数据是如何流转的: 原视频经过 解码器 解码后 总之,由于原视频和目标视频时间基是不一样的,因此需要对时间戳进行转换,才能保证编码保存后的时间是正常的。 其中,编码格式 ID 根据音频和视频需要来设置,比如视频 H264 为: AV_CODEC_ID_H264 ,音频 AAC 为:AV_CODEC_ID_AAC。

    51520

    Android视频视频采集(系统API预览)

    我们了解了视频相关的基础知识,后面的文章我们要能够和音频一样可以采集我们的视频视频是一帧一帧的图片来的,我们首先要学习预览视频,然后采集一帧图片,采集视频从简到难的来了解这个问题。 首先第一个反应打开Google搜索和Android视频采集相关的东西,我们要知道如何通过API来采集,不由自主地到了Android官网的Camera API。 Android有两个视频采集的API,Camera是Android 5.0以前使用的,现在已经废弃了,我们还是得学一下他的使用,Camera2是最新的视频采集API,我们重点了解它的使用。 <uses-permission android:name="android.permission.RECORD_AUDIO" / 存储权限:如果我们要保存相片和视频在存储设备那么就要加上这个权限。 ="android.hardware.location.gps" / 调用系统的摄像头app来拍照和录制视频 拍照 请求摄像头特征 <manifest ...

    83510

    Android MediaCodec图片合成视频

    利用MediaCodec可以录制视频,可是可以将图片合成视频吗?之前使用ffmpeg来实现。 但是,ffmpeg却是c++写的,而且非常占用内存,虽然它是非常棒的音视频处理库,但是杀鸡焉用牛刀,所以今天就讲一下:如何利用Android API中的MediaCodec来实现图片合成视频 YUV 参考 Android MediaCodec 硬编码器封装 - https://blog.csdn.net/devil__lee/article/details/49508773 图文详解YUV420数据格式 _4); 其中out为视频输出文件。 这篇文章讲的是利用纯Android API实现的图片合成视频文件,其中我有查询到利用ffmpeg的,利用opencv/javacv的,但是这边文章介绍的方式没有引用第三方库,因此打包出来的apk文件肯定是很小的

    1.6K10

    Android视频——基础介绍

    视频编码 视频编码所谓的视频编码就是指通过特定的压缩技术,将某个视频格式文件转换成另一种视频格式文件的方式。 视频流传输中最重要的编解码标准有国际电联的 H.261、H.263、H.264,运动静止图像专家组的 M-JPEG 和国际标准化组织运动图像专家组的 MPEG 系列标准,此外在互联网上被广泛应用的还有 视频编码分为两个系列,分别介绍如下。 MPEG :(由 ISO[国际标准化组织]下属的 MPEG[运动图像专家组]开发)视频编码方面主要是 MPEG1(VCD 用的就是它)、MPEG2(DVD 使用)、MPEG4(DVDRIP 使用的都是它的变种 H.26X :(由 ITU[国际电传视讯联盟]主导,侧重网络传输,注意,只有视频编码)包括 H.261、H.262、H.263、H.263+、H.263++、H.264(就是与 MPEG4 AVC 合作的结晶

    16720

    Android Studio 视频教程分享

    对于一些还没有转移阵地的同学来说,对于不了解Android Studio的初学者来说,有一款非常好的视频教程再好不过了,我今天就是来分享给大家视频教程的。 学习Android Studio有时候需要看图说话的能力。哈哈……逗你们玩的,视频带有中文字幕,对于英文不好的来说,学习完全没有问题。 此教学视频的名字就叫:Android Studio Essential Training(Android Studio 基本训练),从名字我们就可以看出来,这个视频讲的应该很基础,所以大家学习起来,只要是做 视频教程地址:http://ask.android-studio.org/? /explore/category-video 点进去有惊喜哦,你会发现这个网站是专门介绍Android Studio,里面的问答社区,问题,全是有关Android Studio的,不光是视频哦。

    555100

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 实时音视频

      实时音视频

      实时音视频(Tencent RTC)主打低延时互动直播和多人音视频两大解决方案,支持低延时直播观看、实时录制、屏幕分享、美颜特效、立体声等能力,还能和直播 CDN 无缝对接,适用于互动连麦、跨房PK、语音电台、K 歌、小班课、大班课、语音聊天、视频聊天、在线会议等业务场景。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券