在手机评测视频播放能力的时候经常会提到“硬解码”和“软解码”,但是很多人不太明白是什么意思,其实问题很简单。大家都知道PC都有CPU和GPU(显卡),在手机上也是有CPU和GPU。    手机和电脑的区别主要在于电脑上的显卡是作为独立出来的一个重要部件而存在的,在手机上GPU和CPU的关系很紧密,在以前的智能机很多GPU的事都是由
FFMPEG 4.0 for Android 准备工作下面的函数方法基于最新的FFMPEG 4.0(4.X):音频的原始数据是pcm编码,关于PCM编码的相关信息请看这篇文章:https://www.jianshu.com/p/cfb3d4dc3676本文的解码就是要把原始文件中的音频部分提取出来解码生成PCM文件,以下是正文,将会去除逻辑相关代码,按照流程顺序用最基础的方法展现,方便大家掌握用法
转载 2024-09-25 07:18:29
83阅读
一.AVFrame用来存放解码后的数据。【相关函数】 AVFrame *frame = av_frame_alloc(); // 空间分配,分配一个空间并初始化。 void av_frame_free(AVFrame **frame); // 空间释放。两种释放方式,一种是将引用计数-1, int av_frame_r
以前看过VLC的代码,学习过VLC相关的知识,现将其记下来以作备忘注:本记录是以VLC2.0作为参考,如有出入,请先核对版本号一、简介VLC多媒体播放器(最初命名为VideoLAN客户端)是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影音光盘及各类流式协议。它也能作为unicast或 multicast的流式服务器在IPv4或 IPv6的高
目录FFmpeg解码过程流程图和关键的数据结构mp4通过FFmpeg解码YUV裸视频数据一、FFmpeg解码过程流程图和关键的数据结构FFmpeg解码涉及的知识点比较多,很容易被函数和结构体搞定不知所错,我们先从整体上对解码流程有个认知,画了张解码流程图,如下1.1 解码流程如下avformat_open_input 打开媒体文件avformat_find_stream_info 初始化AVFor
# 在Android中实现MSBC和CVD编解码能力 在现代移动应用中,音频编解码能力是一个重要的功能,尤其是在语音识别、实时通话等场景中。MSBC(Modified Subband Coding)是一种广泛使用的音频编码方式,而CVD(Compressed Voice Data)则是另一种音频压缩格式。在本文中,我们将逐步了解如何在Android应用程序中实现MSBC CSV的编解码能力
原创 9月前
380阅读
作者:阿宝  更新:2016-08-15  来源:彩色世界(https://blog.hz601.org/2016/08/15/android-mediacodec-hardcode-compatibility-testing/index.html) 简述Android系统在短时间内大放异彩,得益于其源码的开放性;也正因其开放性,各厂商自由定制,导致了系统碎片化严重。Android硬件编码的Med
# 在Android中集成FFmpeg解码能力Android应用开发中,集成FFmpeg以实现音视频解码能力是一项常见需求。本文将介绍如何利用CCodec实现FFmpeg解码能力。接下来,我们将详细讨论整个流程以及每个步骤所需的代码示例。 ## 整体流程 我们可以将整个集成过程简化为以下几个步骤: | 步骤 | 描述 | |
原创 2024-09-08 04:39:54
148阅读
日前,三大运营商之一的中国联通宣布其首批 5G 手机已经全部到位,包含12个品牌共15款 5G 手机及5G CPE,OPPO、vivo、华为、小米、中兴、努比亚等知名品牌均有出现。值得一提的是,首批的15款 5G 手机除了华为外,其他均使用的是高通骁龙855移动平台,而在未来 10 年中,与 5G 部署并行发展的技术领域,将是大数据的分析和运用,其核心应用就是人工智能,也就是AI。总的来说,就是在
RK3399/RK3328具有强大的视频编解码能力,Soc集成的硬件视频编解码器VPU,能同时处理多路视频的编解码,Soc集成的图形加速引擎RGA, 可以高效地处理图形缩放、旋转、颜色空间转换等操作。结合VPU和RGA,可以高效地实现视频流的解码和后处理,作为第三方应用处理的数据源。 调用API      Rockchip开发的mpp库,提供了非常易于使用A
转载 2023-09-08 19:06:05
1417阅读
本文记录另一个安卓平台下基于FFmpeg的视频解码器。与前一篇文章记录的解码器不同,本文记录的解码器不再使用libavcodec.so、libavformat.so等类库,而只使用了一个类库——libffmpeg.so。该视频解码器C语言的源代码来自于《最简单的基于FFMPEG+SDL的视频播放器》。相关的概念就不再重复记录了。 FFmpeg类库的打包 记录一下FFmpeg类库打包的方法。An
转载 2023-07-03 15:22:42
426阅读
关于“硬解码”与“软解码” 忧蓝 发布于:  2010-08-02 11:03      由于高清视频的分辨率远远高于一般格式视频,使得高清视频的码率非常高。再加上VC-1和H.264编码的压缩率很高,解码运算的运算量很大。因此常规地直接用CPU解码(即常说的“软解”)会极大地消耗CPU的运算能力,一些较老的CPU软解H.264时CPU占用
# 项目方案:Android视频解码能力获取 ## 1. 项目简介 本项目旨在通过获取Android设备的视频解码能力,以便在应用程序中根据设备能力选择合适的视频解码方式,从而提高视频播放的效率和性能。 ## 2. 方案实现 ### 2.1 获取视频解码能力 通过MediaCodec API获取Android设备的视频解码能力,具体步骤如下: 1. 创建一个MediaCodec实例 2. 设
原创 2024-05-22 06:48:01
151阅读
在开发直播视频应用时,常常会遇到“Android 直播视频流解码能力不足”的问题。这个问题可能导致延迟增加、画面卡顿等用户体验不佳的现象。因此,在这篇博文中,我将详细记录下如何解决这一问题,涵盖环境准备、分步指南、配置详解、验证测试、优化技巧和排错指南。 ## 环境准备 ### 软硬件要求 - **软件**: - Android Studio 4.0 或更高版本 - Android
原创 6月前
64阅读
全为C语言编写,可直接在MCU上运行,已测试正常,资源已尽力做到最小一、C文件/* AES 加密 解密 数据块 固定为16字节 秘钥有 128bit(16字节) 192bit(24字节) 256bit(32字节) */ #include "aes.h" //轮秘钥缓存 原始秘钥 + 多个子秘钥 static unsigned char Round_Key
转载 2024-03-18 13:01:29
196阅读
# Android 视频解码占用 CPU 过高的原因及解决方案 在现代 Android 应用开发中,视频解码是一个常见任务。然而,很多开发者在实现视频播放时,会遇到视频解码占用 CPU 过高的问题。这不仅影响了应用的性能,还可能导致用户体验不佳。本文将为您解析这一问题的成因,并提供一些优化建议和代码示例。 ## 视频解码的过程 视频解码是将压缩视频数据转化为可以播放的图像帧的过程。这个过程通
原创 10月前
447阅读
GPU解码提升40倍,英伟达推进边缘设备部署语音识别,代码已开源机器学习研究会订阅号1周前英伟达近日一篇论文为语音识别技术在边缘设备上的部署带来了福音,其新提出的解码器方法即使在边缘嵌入式 GPU 上也能高效高速地执行。而且这种方法不仅适用于低端硬件,而且也能为数据中心带来显著的效率提升,从而能够识别更多并行的在线音频流。该方法的早期版本已开源。 论文:https://arxiv.org
转载 2024-01-17 17:14:51
115阅读
 接下来我安装了xvid,然后运行代码。代码和解读如下:#include "highgui.h" int main(int argc, char* argv[]) { cvNamedWindow("avi"); CvCapture* capture = cvCreateFileCapture(“视频文件路径"); IplImage* frame; whil
转载 2024-03-15 18:34:40
58阅读
内容概要:一、文件操作二、字符编码解码三、函数介绍一、文件操作文件操作流程:打开文件,得到文件句柄并赋值给一个变量通过句柄对文件进行操作关闭文件基本操作:1 #/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #Author:W-D 4 f=open("test","r",encoding="utf-8")#打开文件,并告诉解释器以那种编码打开,编码不对
2016-07-10  职坐标在线 一:为什么编程速度慢(敲代码的速度) 这个不仅仅局限于swift语言。个人觉得,导致程序开发者,开发速度慢,主要有三点原因。1、对这门语言不熟悉语言运用不熟练,主要体现在,对编程语言,没有一个大体的结构框架。说白了,就是不知道,这们编程语言都是能干什么。也不了解这门开发语言的特色是什么,更不要提什么编程思想了。以OC为例,当我写了大量的代码之
转载 8月前
15阅读
  • 1
  • 2
  • 3
  • 4
  • 5