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

Android MediaCodec 编码 H264 文件

在 Android 4.1 版本提供了 MediaCodec 接口来访问设备的编解码器,不同于 FFmpeg 的软件编解码,它采用的是硬件编解码能力,因此在速度上会比软解更具有优势,但是由于 Android...虽然 MediaCodec 仍然存在一定的弊端,但是对于快速实现编解码需求,还是很值得参考的。 以将相机预览的 YUV 数据编码成 H264 视频流为例来解析 MediaCodec 的使用。...对于 I 帧间隔,也就是隔多久出现一个 H264 编码中的 I 帧。...,开启编解码线程,处理相机预览返回的 YUV 数据。...对于 MediaCodec 编码解析之相机内容编码成 H264 文件就到这里了,主要还是讲述了关于 MediaCodec 的使用,一旦熟悉使用了,完成编码工作也就很简单了。

3.2K12

视频编解码硬件方案漫谈

4K,8K),编码算法越来越复杂(从mpeg2经历h264,发展到h265),PC的软件规模也越来越庞大,视频应用也越来也丰富,单独靠CPU来编解码已经显得勉为其难,一种集成在显卡中gpu用来参与编解码工作已经成为主流...xxx_ cuvid 暂未实现 xxxx_qsv                                                                    ffmpeg编解码应用...其次在ffmpeg中软件编解码器可以实现相关解加速。如在h264解码器中可以使用cuda 加速,qsv加速,dxva2 加速,d3d11va加速,opencl加速等。...系统 仅限Windows D3D加速,跨硬件平台                                Gstreamer硬件加速编解码方案 其中xxx标识编码类型,如h264,h265,mpeg2...在Linux关于gst-msdk和gst-vaapi的差异如下: 以上是关于视频在PC上的编的常见方案。

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

编解码】从零开始写H264解码器(1) 总纲

背景 因为工作原因,接触编解码也有一段时间了。AVC,HEVC,大大小小的功能都也接触了一些,关于编解码的原理的书和文章自己一直在看。从入门到略懂,感觉有些零零碎碎,或不完整,似乎串不成体系。...虽说是从“零”开始,但是编解码的基础知识还是要有一些储备的,我会在每一章里对解码所涉及到的知识点做一个介绍和讲解,但是太零碎的,就不会一一说明了。如果知识点太大,可能会单独写一篇来总结。 2....自己动手写 H.264 解码器-ZigZagSin 配套工程 H264视频解码器C++工程说明 配套工程 4....H264 Visa : 我用的1.15版本,不能用vega的时候使用的。参数解析的比较全面,用于前期判断自己的解析对不对很有帮助。...elecard 试用了一下,感觉使用不是很顺手,论美观好用不如vega,轮参数完整不如H264 Visa。就没太多使用。

82610

基于WebRTC开发的企业视频远程通话会议系统EasyRTC-Android使用H.264编码怎样设置

我们在项目中测试发现,有不少Android机器运行EasyRTC时,使用了VP8编解码,然而由于前后台编解码方式不一致,导致播放不了H.264编码的视频。...分析问题: 硬件编解码存在设备适配问题,因为不同的设备使用的解码器不同,可能会导致编码失败及解码失败。...以Android为例,由于Android厂商众多,使用的cpu芯片更是繁多,同一芯片厂商不同型号实现的解码器也有不同,这样就造成适配很困难,况且H.264不是google推荐使用的编解码器(毕竟不是亲生的...MediaCodecUtils.java中添加如下cpu: 2、HardwareVideoEncoderFactory.java中的 isHardwareSupportedInCurrentSdkH264方法,增加支持H264...的cpu的判断: 3、HardwareVideoDecoderFactory.java中的isHardwareSupported方法,增加支持H264的cpu的判断: EasyRTC视频播放效果:

85320

Linux 系列汇总

Linux,全称 GNU/Linux,是一套免费使用和自由传播的类 UNIX 操作系统。...我在开发之前只知道 Windows 操作系统,所以我就以为世界上只有一种操作系统,那就是 Windows,工作后才知道 Linux 操作系统。...Linux 现在有多重要我就不用说了吧,不管什么语言,你都或多或少会接触 Linux,不管你是开发还是运维,或者是项目经理,你都需要监控 Linux 服务状态。...我认为 Linux 甚至是最重要的一门操作系统。 所以,入门 Linux 已经成为越来越必要的一环。市面上有很多 Linux 系列的书籍,有小白的和进阶的各种,但是都感觉有些拖沓,无关的东西比较多。...所以现在,我就自己手撸了一本 Linux PDF,命令都是一行一行敲的,也是我读书、看博客、总结的心得。非常宝贵,大家可以来看一下目录 ?

72020

Linux ln 软、链接

最近在学习Linux系统的,给我的感觉就是“智慧的结晶,智慧的大脑,智慧的操作” 今天研究到了一个有趣的命令 ln 我们先来看一下它的概念吧 Linux ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接...---- 一、语法 ln [参数][源文件或目录][目标文件或目录] 命令功能 : Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 链接(hard...类似于Windows操作系统中的快捷方式 2.软链接可以 跨文件系统 ,链接不可以 3.软链接可以对一个不存在的文件名进行链接 4.软链接可以对目录进行链接 链接: 1.链接,以文件副本的形式存在...2.不允许给目录创建链接 3.链接只有在同一个文件系统中才能创建 二、命令参数 必要参数: -b 删除,覆盖以前建立的链接 -d 允许超级用户制作目录的链接 -f 强制执行 -i 交互模式,文件存在则提示用户是否覆盖...发现链接和源文件的 i 节点是相同的,而软链接与源文件的 i 节点是不同的   第六:不允许将链接指向目录;不允许跨分区创建链接

5.8K20

linux软链接和链接

链接文件 链接文件有两个限制: 1、不允许给目录创建链接; 2、只有在同一文件系统中的文件之间才能创建链接。 对链接文件进行读写和删除操作时候,结果和软链接相同。...用ln -s 命令可以生成一个软连接,如下:   [root@linux236 test]# ln -s  source_file softlink_file   在对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作...对链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除链接文件的源文件,链接文件仍然存在,而且保留了愿有的内容。     这时,系统就“忘记”了它曾经是链接文件。...二  两者之间的区别 连接指通过索引节点来进行的连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。    ...在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是连接。连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立连接到重要文件,以防止“误删”的功能。

8.6K50

Windows平台实现毫秒级4K H264H265直播技术方案

,基于此,大牛直播SDK(Github)实现了Windows平台特定机型编、解码低延迟解决方案。...针对编码这块,我们实现了基于英伟达显卡编码(NVIDIA NVENC)的RTMP、RTSP低延迟技术解决方案,无论是H265还是H264 4K 30fps都能编的动(以下测试截图,基于GeForce...RTMP推送端H265 4K编码配置(对应 SmartPublisherDemo.exe): RTMP播放端 H265 4K解码效果(对应 SmartPlayer.exe): RTMP H265...RTMP H264 直播 RTMP推送端H264 4K编码配置(对应 SmartPublisherDemo.exe): RTMP播放端H264 4K解码效果(对应 SmartPlayer.exe)...: RTMP H264 4K 编解码GPU, CPU占用情况: RTMP H264 4K直播低延时效果: 总结: 从整体测试来看,英伟达编码(NVENC)能达到期望的效果,可以满足毫秒级低延时大分辨率需求

1.4K30

Linux 软链接与链接

创建链接就像是创建了原始文件的副本,但实际上它们都指向相同的数据块。...ln [目标文件路径] [链接文件名]例如,要在当前目录下创建一个名为link_file的链接,指向/home/user/desktop/link,可以执行以下命令ln /home/user/desktop.../link link_file这将创建一个链接link_file,它与/home/user/desktop/link 实际上是相同的文件内容。...删除软链接rm [软链接文件名]软链接与链接区别软链接就像是创建了一个快捷方式,指向另一个文件或目录。如果原始文件被删除或移动,软链接失效,因为它只是一个路径的引用。...链接就像是创建了原始文件的副本,但实际上它们都指向相同的数据块。如果原始文件被删除,链接仍然有效,因为它们共享相同的数据块。只能在同一个文件系统中创建。看起来像独立的文件,没有特殊的标志。

16910

LINUX软链接和链接

1.Linux链接概念 Linux链接分两种,一种被称为链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。...【连接】 连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索 引节点号(Inode Index)。...在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是连接。连接的作用是允许一个文件拥有多个有效路径名,这样用户 就可以建立连接到重要文件,以防止“误删”的功能。...2.通过实验加深理解 [oracle@Linux]$ touch f1 #创建一个测试文件f1 [oracle@Linux]$ ln f1 f2 #创建f1的一个连接文件...f1 file [oracle@Linux]$ cat f3 cat: f3: No such file or directory 通过上面的测试可以看出:当删除原始文件f1后,连接f2不受影响,但是符号连接

8K51

Linux软连接和链接

1.Linux链接概念 一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法 Linux链接分两种,一种被称为链接(Hard Link),另一种被称为符号链接(Symbolic Link...【连接】 连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。...在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是连接。连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立连接到重要文件,以防止“误删”的功能。...2.通过实验加深理解 [oracle@Linux]$ touch f1          #创建一个测试文件f1 [oracle@Linux]$ ln f1 f2          #创建f1的一个连接文件...I am f1 file [oracle@Linux]$ cat f3 cat: f3: No such file or directory 通过上面的测试可以看出:当删除原始文件f1后,连接

6.2K100

Linux链接与软链接

链接与软链接 链接是通过inode进行的链接。...一般情况下,文件名和inode号码是“一一对应”关系,每个inode号码对应一个文件名,但是Unix/Linux系统允许多个文件名指向同一个inode号码,这意味着,可以用不同的文件名访问同样的内容,但是...链接只能在同一个文件系统的文件中间进行链接,不能对目录进行创建。如果删除链接对应的源文件,则链接文件仍然存在,而且保存了原有的内容,这样可以防止因为误操作而删除文件的作用。...由于链接是有着相同inode号仅文件名不同的文件,因此,删除一个链接并不影响其他有相同inode号的文件。...可以使用ln 源文件 新文件 命令建立链接或者使用ln -d 源文件 新文件 命令建立链接。 通过上面的操作印证了前述关于链接的相关内容。

8.7K30

Linux链接与软链接

Linux中,连接文件有两种,一种类似于Windows的快捷方式,可以让你快速地链接到目标文件(或目录),这种称为软链接(soft link),也叫作符号链接(symbolic link);另一种则是通过文件系统的...但是,Unix/Linux系统,允许多个文件名指向同一个inode号码。...可见,链接本质上是文件的一个别名。 1.3链接注意事项 链接有两个限制: (1)不能跨文件系统;链接只是文件的别名,而非独立的文件,因此仅能在单一文件系统上面进行,所以不能跨文件系统。...---- 参考文献 [1]鸟哥.鸟哥的私房菜基础学习篇第三版[M].北京:人民邮电出版社,2010.P183-P190 [2]linux 索引节点 inode 详解 [3]Why hard links...not allowed to directories in UNIX/Linux.StckOverflow

23.3K20

微信 Android 视频编码爬过的那些坑

这篇文章主要将会对视频流的编码中两个常见问题进行分析: 视频编码器的选择(编 or 软编)? 如何对摄像头输出的YUV帧进行快速预处理(镜像,缩放,旋转)?...一般来说,会有这么两个选择 MediaCodec FFMpeg+x264/openh264 我们来逐个解析一下 MediaCodec MediaCodec是API 16之后Google推出的用于音视频编解码的一套偏底层的...API,可以直接利用硬件加速进行视频的编解码。...webRTC中的视频的编解码器使用。...软硬编对比 从上面的分析来看,编的好处主要在于速度快,而且系统自带不需要引入外部的库,但是特性支持有限,而且编的压缩率一般偏低,而对于软编码来说,虽然速度较慢,但是压缩率比较高,而且支持的H264特性也会比编码多很多

9.1K55

Linux链接与软链接

链接与软链接 A1 前言 1、我们知道文件,都有文件名和数据。...2、在Linux中,元数据中的inode号(inode是文件元数据的一部分但其并不包含文件名,inode号即索引节点号)才是文件的唯一标识而不是文件名。...3、Linux中,文件名仅仅是为了方便人们的记忆和使用,系统或程序通过inode号寻找正确的文件数据块。如图 ?...4、查看inode号:stat或ls -i A2 why 为解决文件的共享使用,Linux引入了两种链接:链接(hard link)与软链接(又称符号链接,即soft link 或 symbolic...解决了文件的共享使用 隐藏文件路径 增加权限安全 节省存储 A3 链接 what 若一个inode号对应多个文件名,则称这些文件链接。 换言之,同一个文件使用多个别名。

7.5K20
领券