首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

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

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… 欢迎各位亲爱的开发者们在文章下方给我们留言,提出您的问题、

59640

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

1.3K20

Android实现视频弹幕功能

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

1.3K31

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 提供的原生硬解码能力,使用实现了视频的解码和播放。

2.7K20

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

52030

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

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

5.2K41

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 课程和开发文档。

86940

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

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

1.4K20

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 ...

1.4K10

Android Studio 下载视频到本地

最近在研究视频下载到本地的问题,像爱奇艺,腾讯视频,迅雷看看等等一些视频播放器,如果在一个播放器里面视频下载到一半用户退出App之后,再次登录从头开始,那么就太可悲了,所以在做视频音频类的项目时,要实现的一个功能就是断点续传...,就是将用户下载的视频或者音频等以字节流的形式存入数据库,下次用户再次下载时,将继续上次数据库的接着下载,这样用户体验就会很好,也大大节省了成本....<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com...7.5dp" android:layout_centerInParent="true" android:layout_marginRight="8dp" android:max="100" android...android:layout_marginTop="18dp" android:text="" / <Button android:id="@+id/downLoad" android:layout_width

1.2K10
领券