散分,快来接分啦~~~YUV422 如何得到Y、U、V分量,用FFMPEG进行H264编码 [问题点数:100分,结帖人afu1972715000]

Bbs1
本版专家分:0
结帖率 100%
rgb图像转换为灰阶文本文件的matlab程序
用matlab读入rgb图像,然后分离出rgb数据,转换为yuv数据,并将y数据(灰度)写入到文本文件,以方便<em>进行</em>后续处理
YUV420P 灰阶测试图小例
最近在学习雷神的YUV生成420P的灰阶测试图 自己仿写了雷神的接口simplest_yuv420_graybar,在代码中加入了一些注释, 记录下来 【注】: 在Y<em>分量</em>取值方面, 雷神的程序将0~255分成了9份, 即最后一个色柱可以取到255 而我自己的程序将0~255分成了10份, 最后一个色柱取不到最大亮度255 代码的大概意思是malloc三块内存data_y,data_u,d...
色彩深度、灰阶
色彩深度 色彩深度(Depth of  Color),色彩深度又叫色彩位数。视频画面中红、绿、蓝三个颜色通道中每种颜色为N位,总的色彩位数则为3N,色彩深度也就是视频设备所能辨析的色彩 范围。目前有18bit、24bit、30bit、36bit、42bit和48bit位等多种。24位色被称为真彩色,R、G、B各8bit,常说的 8bit,色彩总数为1670万,如诺基亚手机参数,多少万色素就这个概
灰阶
灰度非线性变换 编辑 灰度非线性变换是指将灰度数据按照经验数据或某种算术非线性关系<em>进行</em>变换再提供给显示屏显示。由于LED是线性器件,与传统显示器的非线性显示特性不同。为了能够让LED显示效果能够符合传统数据源同时又不损失灰度等级,一般在LED显示系统后级会做灰度数据的非线性变换,变换后的数据位数会增加(保证不丢失灰度数据)。国内一些控制系统供应商所谓的4096级灰度或16384级灰度或更高...
YUV3---- 生成YUV420P格式的灰阶测试图和计算两个YUV420P像素数据的PSNR
1、生成YUV420P格式的灰阶测试图
YUV像素数据分解为 Y ,U, V分量
如果视频帧的宽和高分别为w和h,那么一帧YUV420P像素数据一共占用w*h*3/2 Byte的数据。其中前w*h Byte存储Y,接着的w*h*1/4 Byte存储U,最后w*h*1/4 Byte存储V。上述调用函数的代码运行后,将会把一张分辨率为256x256的名称为1.yuv的YUV420P格式的像素数据文件分离成为三个文件:rnrnrnoutput_420_y.y:纯Y数据,分辨率为256
读取4:2:0格式YUV序列的Y分量、U分量以及V分量,并分别保存为.yuv格式(matlab实现)
读取4:2:0格式YUV序列的Y<em>分量</em>、U<em>分量</em>以及V<em>分量</em>,并分别保存为.yuv格式,不多说,具体程序如下:rnread_Y_U_V.mrn%% 读取4:2:0格式YUV的Y、U和V<em>分量</em>,然后将三个<em>分量</em>分别保存为.yuv格式nnclearnclcnn%% Read yuv from filenrow=144; % 长度ncol=176; % 宽度nfnum=300;
YUV420P Y分量的存储小结
最近在学习雷神的《视音频数据处理入门》, 虽然已经知道420P的YUV图片(planar格式)的存储方式为:nn在像素的采样位数为8bit的情况下且宽w高hnn(1).图片总字节数为w*h*3/2 Byte == w*h(Y) + w*h/4(U) + w*h/4(V)nn(2).planar格式下的存储方式是YYYYYYYYYYYYYYYYUUUUVVVVnn且每一个YUV<em>分量</em>占一个Byte, ...
(1) 分离YUV420P像素数据中的Y、U、V分量实现
n n n 参考雷神文章《视音频数据处理入门:RGB、YUV像素数据处理》 , 记录自己在学习过程中碰到的问题,解决过程和结果。n(1) 分离YUV420P像素数据中的Y、U、V<em>分量</em>nyuv文件的介绍和分离的代码和解释参考文章中已经讲述的很详细了。下面是碰到的问题和尝试解决的方法:n1 到哪里寻找一个YUV文件?nn我是在这个网站YUV Sequences下载的第一个...
YUV数据流编码成H264
自己使用<em>ffmpeg</em><em>进行</em><em>编码</em>,在网上搜索到了雷霄骅大神,他的博客内几乎全是关于<em>ffmpeg</em>的,内容很全面,不过<em>ffmpeg</em>更新很快,他博客上的有些代码,不太适合了。n但是,他提供了更新后的代码,自己使用的是如下的代码例子,地址在最后面。n文件中有两个例子,我都实验过了全部是可以使用的,不过是在window下。自己需要在linux下<em>进行</em><em>编码</em>,使用<em>ffmpeg</em>库,因为<em>ffmpeg</em>没有自己x264编
生成灰阶测试图
点击查看全文 代码 * Generate YUV420P gray scale bar. * @param width Width of Output YUV file. * @param height Height of Output YUV file. * @param ymin Max value of Y * @param ymax M
YUV2----将YUV420P像素数据去掉颜色(变成灰度图)和亮度减半、四周加边框
1、变成灰度图 程序中的函数可以将YUV420P格式像素数据的彩色去掉,变成纯粹的灰度图。函数的代码如下。 其中memset函数的定义 这里memset(pic+w*h,128,w*h/2)是指把后面部分的1/3像素数据转换成灰度色。 2、亮度减半 本程序中的函数可以通过将YUV数据中的亮度<em>分量</em>Y的数值减半的方法,降低图像的亮度。函数代码如下所示
从YUV格式数据中去彩色图像和灰度图像
This small program provides a calculation example. Input is YUV format 000.dat data, DIB data output
颜色空间YUV简介
颜色空间YUV简介
NDK开发-Android下摄像头YUV数据获取与H264编码(FFmpeg、x264)总结
涉及知识点:nnCamera2 API使用nYUV420P与YUV420SP(NV21)格式转换n<em>h264</em>文件格式nFFmpeg工程nx264解码器nn这次就先记录一下开发过程,因为牵涉到的很多技术问题都不太清楚,Android的知识都不太记得了,还有一些知识牵扯到这些开源工程的内部实现,待以后慢慢学习再写。n这个小demo就是做一个摄像头数据的获取与<em>编码</em>存储,由于这个demo的目的是为了给学习直...
视频h.264 解码出YUV分量代码实现
P2P 点对点传输 n流媒体传输 Stream serverPTSP RTMP<em>编码</em>现在都是硬件直接<em>编码</em>手机端 pc端不是 n手机端有专门的解码 手机端没开放给我们,第三方的库去解码 decode n随随便便解码每秒六七十兆是可以的解码流程:#include n#include n#includ
FFMPEG_H264
FFMPEG:H264解码-SDL显示(RGB32、RGB24、YUV420P、YUV422),FFMPEG:压缩之H264<em>编码</em>(YUV420P->H264)
LINUX下FFMPEG解码h264格式到YUV
工程是在UBUNTU下的,可以直接make编译运行,工程内有测试用的264文件, 运行程序后可以解码成yuv格式的文件。
FFMPEG生成高质量的h264编码视频
FFMPEG 转换<em>h264</em>格式视频,为了使视频的每一秒都有关键帧,我们分两步来生成,第一步生成两个临时文件,再组合生成最终的视频文件(windows和linux系统都通用)rn(1) rn rn<em>ffmpeg</em> -i input.mp4 -y input.temp.wav -s 640x360 -pix_fmt yuv420p -f rawvideo -y - | x264 --profile bas...
YUV图像合并(可执行文件)
拼接的形式为当主函数中的参数mnxy都为1时,将6*6个YUV图像拼接为一个大的YUV图案#include "YUV.h"#define _CRT_SECURE_NO_WARNINGSn#define IMAGEWIDTH 3840 //图像的宽n#define IMAGEHEIGHT 1920 //高n#define Y_SIZE ( IMAGEWIDTH*IMAGEHE
matlab将Y,U,V三个通道合成YUV视频文件
最近做图像压缩方面的一些工作,处理的是yuv格式的视频,这也是HEVC<em>编码</em>中常用的压缩格式.n问题,从yuv视频流中读取到Y,U,V,三个<em>分量</em>后,<em>进行</em>处理.有了处理后的Y,U,V三个,<em>分量</em>怎么可以快速合成yuv视频,<em>进行</em>压缩<em>编码</em>,查了下,都是用C++写的,一时间没怎么细看,找到一段很简单的Matlab代码.n1.yuv视频读取(python):n下面是8bit和10bit yuv视频文件读取代码n...
基于Java的YUV图片文件提取Y分量,并构建为灰度图
可以提取YUV图像<em>分量</em>中的Y<em>分量</em>,并构建为Mat型的灰度图像,可以作为参考再读两个通道的<em>分量</em>,然后<em>进行</em>合并,就为RGB图像了
X264实时对USB摄像头编码(H264)
摄像头是USB摄像头,开发环境是VS2013+opencv3.0,采集出的数据实时<em>编码</em>为H264
使用ffmpeg将BMP图片编码为x264视频文件,将H264视频保存为BMP图片,yuv视频文件保存为图片的代码
http://www.aerchi.com/csdn-all-sjin_1314-41145349.htmlrnrn <em>ffmpeg</em>开源库,实现将bmp格式的图片<em>编码</em>成x264文件,并将<em>编码</em>好的H264文件解码保存为BMP文件。rn实现将视频文件yuv格式保存的图片格式的测试,图像格式png,jpg, gif等等测试均OKrnrnrnrnrn   具体代码:rnrnrnrnrn[cpp] viewr
ffmpeg h264 视频编码 模糊问题、MP4播放速度快问题
本文使用 <em>ffmpeg</em>的dll、lib、include<em>进行</em>视频<em>编码</em>。相关基本知识可参考以下博客:https://blog.csdn.net/cfqcfqcfqcfqcfq/article/details/68496213<em>编码</em>生成的视频模糊、清晰度特别差。原因是:未对<em>编码</em>器的上下文信息的码率<em>进行</em>显示设置,或设置的过低,(默认的值太小不满足)AVCodecContext* pCodecCtx;//<em>编码</em>...
毕设系列之Libx264实时视频流(YUV 420P转H264视频编码篇)
#PS:要转载请注明出处,本人版权所有nn#PS:这个只是 《 我自己 》理解,如果和你的 n n#原则相冲突,请谅解,勿喷nn开发环境:Ubuntu 16.04 LTS n本文的技术实现部分参考雷博士的这篇文章。http://blog.csdn.net/leixiaohua1020/article/details/42078645nn1、现在网上关于H264的文章有很多,但是我个人认为...
ffmpeg编码之RGB通过H264编码并封装成mp4
原始rgb文件nnnn<em>h264</em><em>编码</em>成功,并封装成MP4文件nnnn运行截图nnnn日志信息nnnn实现方式nnnextern &quot;C&quot;n{n #include &amp;lt;libavformat/avformat.h&amp;gt;n #include &amp;lt;libswscale/swscale.h&amp;gt;n}nn#include &amp;lt;iostream&amp;gt;nusing namespace st...
V4L2采集YUYV数据—X264编码H264视频实例
    前几天在网上买个罗技的C270摄像头,它支持YUYV(YUV422)和JPEG数据输出。它规格书上写的是支持HD720P(1280*720像素),在实际的调试过程中,我使用该分辨率会导致数据采集过慢。这里需要注意一下,罗技的摄像头C270在有些虚拟机上使用是有异常的,有些是不能映射到虚拟机上,有些是映射过去操作非常缓慢。因为之前在自己的开发板上调试过YUV420的摄像头,在此基础上改为YU...
YUVPlayer2.6.4+序列号
Windows平台的YUV播放器,可分别播放Y、U、V<em>分量</em>,分帧存储。内含序列号,在Win7 64位系统上亲测可用。
ffmpeg编程读取摄像头信息,保存为裸yuv420p、yuyv422视频流
<em>ffmpeg</em>编程:读取摄像头信息,保存为裸yuv420p、yuyv422视频流,参见文档:https://blog.csdn.net/dijkstar/article/details/85881709
FFmpeg获取摄像头数据并编码为H.264
       <em>ffmpeg</em>的视音频编解码功能非常强大,可以说包括了所有的视音频<em>编码</em>标准。在这里我主要是调用<em>ffmpeg</em>工程里的<em>ffmpeg</em>.exe文件,调用之后,会自动完成<em>编码</em>的操作。内部<em>编码</em>的具体流程,以后再慢慢的看。1.介绍       先介绍下<em>ffmpeg</em>里面的三个exe文件。       我们打开<em>ffmpeg</em>的官网,下载时会发现有三个版本,分别是Dev、Shared、Static。Dev是...
ffmpeg使用:(ubuntu)获取rtsp源流(h264)解码为YUV420p,再重新编码h264
一 <em>ffmpeg</em>安装:rn参考链接 https://blog.csdn.net/danfengw/article/details/62887997rn注意:<em>ffmpeg</em>没有x264<em>编码</em>(带有x264解码)需要自己安装,上面链接提供安装的指令;rn都安装完成后需要添加环境变量rnsudo vim ~/.bashrcrn在末尾添加rnexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH...
linux下编译ffmpeg,并加入H264编码支持
1.libx264 编译n./configure --enable-static --disable-asm --prefix=/usr/local/<em>ffmpeg</em>RedHatnn2.<em>ffmpeg</em> 编译n./configure --enable-shared --disable-yasm --enable-memalign-hack --enable-libx264 --enable-gpl
FFMPEG(三) v4l2 数据编码H264
     系列相关博文:            FFMPEG(一) 从V4L2捕获摄像头数据            FFMPEG(二) v4l2 数据格式装换            FFMPEG(三) v4l2 数据<em>编码</em>H264    前面已经介绍了linux 系统 使用FFMPEG 库通过V4L2采集摄像头数据,并且输出不同的数据格式,接下来需要处理的就是将采集到的数据<em>进行</em>压缩<em>编码</em>。H264是现...
Linux下用ffmpeg转H.264编码的视频
最近公司的制作电脑都切成Linux系统了,但Maya有个问题就是没有了h.264<em>编码</em>,这就让原本只有几M的拍屏变成几十M了,最后想方设法用<em>ffmpeg</em>转了下,确实小很多,清晰度基本不变。n最主要的命令为:ncmd = '%s -y -r 24 -i %s -vcodec libx264 -crf 18 -preset slow -tune animation -profile baseline -...
ffmpeg学习八:软件生成yuv420p视频并将其编码为H264格式
通过前面对<em>ffmpeg</em>中常用的几个api的源码分析,从而对api有了更好的理解。之前已经做过视频的解码了,今天来尝试视频的<em>编码</em>。<em>ffmpeg</em>已经给我们提供了相应的可供参考的程序:doc/examples/decoding_encoding.c文件就是解码和<em>编码</em>的例程。仔细阅读它的代码后,我们可以按照自己的理解,写自己的视频<em>编码</em>程序。我们将会把一个yuv420p格式的文件,使用<em>h264</em><em>编码</em>器<em>进行</em><em>编码</em>。
CABAC熵编码代码实现(H264)-FFMPEG
参考网址:http://blog.csdn.net/dragon_dy/article/details/52938117n参考网址:http://wenku.baidu.com/link?url=eEDTs9GytUSu8NPgvn57_9W8aNrzwiylG-t41a-VbtV4hlGIm8wYyqyXihEpaZM9QfnfY1Rlx_3y22FhJH-eKdPhJCqAlOqY_V35h
FFMPEG只编译H264编码
1.<em>ffmpeg</em> 编译./configure --prefix=/usr/local/ --enable-shared --disable-everything --enable-encoder=libopen<em>h264</em> --enable-gpl --enable-pthreads  --disable-asm  --disable-hwaccels --disable-protocols--ena...
分析FFMPEG中H264编码流程
/**n * 最简单的基于FFmpeg的视频<em>编码</em>器n * Simplest FFmpeg Video Encodern * n * 雷霄骅 Lei Xiaohuan * leixiaohua1020@126.comn * 中国传媒大学/数字电视技术n * Communication University of China / Digital TV Technologyn * http://blog...
ffmpeg4+OpenCV3+VS2017 H264编解码示例
<em>ffmpeg</em>4.0+OpenCV+VS2017 H264编解码示例。已经配置好环境,不需要再<em>进行</em>配置
sip协议获取h264码流转换成每一帧图片
从nvr中获取视频流,并将视频流转换成每一帧图片。大致流程: nvr中<em>得到</em>rtp包,rtp包<em>得到</em><em>h264</em>码流,通过<em>ffmpeg</em>从<em>h264</em>中解析<em>得到</em>视频I帧,然后转换成图片。
ffmpeg视频的编码Encode---YUV编码h264
n n n 视频<em>编码</em>的过程就是将YUV的像素格式<em>编码</em>成H264的压缩格式nnYUV:视频像素格式nH264:视频压缩数据格式nn流程图nnnnnnvideo_encode.pngnn步骤详解n1、注册组件nav_register_all();nn2、初始化化封装格式上下文nAVFormatContext* avformat_context = avformat_all...
ffmpeg编解码命令(包含YUV编码到常见视频格式文件)
1、视频<em>编码</em>rn<em>ffmpeg</em> -s 352*288 -pix_fmt yuv420p -i bus_cif.yuv -vcodec mpeg4 bus_cif.avi//avirn<em>ffmpeg</em> -s 352*288 -pix_fmt yuv420p -i bus_cif.yuv -vcodec mpeg2video bus_cif.VOB//dvdrn<em>ffmpeg</em> -s 352*288 -pix_
H264编码系列之每帧slice数量问题
n n n 在推送RTMP时,每个消息应该为一个完整的vidoe帧,而不是单个slice。n但当一帧被划分为多个slice时,如果不将多个slice合成一帧数据<em>进行</em>发送,则导致接收端不能正常解码。nX264每帧slice的数量不只是受i_slice_count 参数影响,也受线程数量i_threads 影响。n// 指定处理线程,如果不为1,slice设置将失效nx-...
基于am335x平台 mjpeg转码h264
最近一直在做应用层的东西,呵呵。简单介绍下:公司am335x平台谈了一个安防方向的应用,基本功能差不多实现,客户提出在特定场景采集视频,然后转码为<em>h264</em>,通过局域网传输到服务器。采集视频采用uvc摄像头,采集格式支持mjpeg,yuv。考虑到两者采集文件都偏大,如果客户端较多,这样造成服务器端网络风暴,因此需要转码为<em>h264</em>.nyuv视频格式,相同条件下文件过大,以及一个很现实的问题(am33
FFMPEG编码保存的视频文件播放速度太快原因
今天偶然发现自己使用ffmepg从摄像头采集然后保存文件,使用播放器播放,速度很快,网上查了很多资料都说是帧率的问题,可特么倒是说明白啊,帧率帧率,你倒是说明白帧率错在哪啊。最后自己摸索,发现所谓的帧率问题都是人云亦云。真正的原因并不是帧率问题,准确说是输入文件的帧率需要和输出文件的帧率要一致,如果不一致就会出现视频文件播放过慢或者过快的问题。nn下面举1个李子:nn1:输入文件是摄像头nnn1....
Ffmpeg视频开发教程(四)——最新版FFMPEG开发包实现250张图片编码h264文件保存
本文实现将250张图片<em>编码</em>为<em>h264</em>视频文件保存。使用的图片文件名字是1.jpg  2.jpg   3.jpg  .........以此类推。图片文件可以自己生成,也可以从我上传的位置下载:https://download.csdn.net/download/zhangamxqun/10438476    。注意image文件夹调试的话放.vcxproj同级目录,单独运行放exe同级目录,否则找不...
ffmpeg3 rgb编码h264文件
#include &quot;stdafx.h&quot;  #include &amp;lt;stdio.h&amp;gt;  #include &amp;lt;stdlib.h&amp;gt;  #include &amp;lt;string.h&amp;gt;   extern &quot;C&quot;{#include &amp;lt;libavcodec\avcodec.h&amp;gt;    #include &amp;lt;libavformat\avformat.h&amp;gt;   
算法与设计经典题:大整数乘法(教材2-4)
给定两个整数u和v,他们分别有m和n为数字,且m≤n,用通常的乘法求uv的值需要O(mn)时间,可以将u和v均看作是有n位数字的大整数,用本章介绍的分治法,在O(n^(log3))时间内计算uv的值,当m&amp;lt;&amp;lt;n时,此法效率不高。设计算法在O(nlog2/3)时间计算uv的值nn在O(n^(log3))时间内计算,把u,v分成两段,如分治法书中内容nnuv=AC2^(n)+((A-B)(...
【媒体流】libx264 将rgb24格式转换为h264
简介最近我在将自己的久笔记本放在家里做小型的远程监控,在网络传输视频时需要用到<em>h264</em>码流。然而我对<em>h264</em>只能说知道只知道它是一个视频<em>编码</em>格式,仅此而已。然后某度一下之后发现有开源的库可以直接使用。libx264就这样被我发现了。在其他博客中混迹了一段时间后发现,网上基本上是没有说使用libx264 将rgb24 数据格式转 <em>h264</em>的。基本上都是讲yuv420转的,说什么libx264只支持yu
生成ffmpeg使用的测试yuv格式图片
simplest_pic_gen。该工具可以生成视频测试时候常用的RGB/YUV格式的测试图片。包括灰阶测试图,彩条图,彩色条纹图,RGB渐变彩条图,YUV渐变彩条图,颜色视频等。下面简单介绍一下生成YUV格式图片的方法查看生成的图片需要使用RGB/YUV播放器。亮度取值为16-235的灰阶测试图下面这张图是一张灰阶测试图的示例。这张图的分辨率是1280x720,像素格式是YUV420P,亮度的取...
Java利用JNI调用FFMpeg对h264码流进行解码
前期配置工作:在Visual Studio端配置FFMpeg在Visual Studio端配置OpenCV解码部分主要源代码及说明解码部分vs工程下载地址使用JNI调用:java端:package com.recon.action;npublic class Decode { public native String loadfile(String s);n //传递字符串告知c++工程所要打开的h
FFmpeg学习笔记-YUV以H264或H265编码最后打包TS流过程(进阶版)
在学习了FFmpeg后,才发现其中美妙,之前发一个yuv转ts的初学版,现在看看感觉不堪回首。所以一直在思考能不能直接用命令就完成整个过程。在请教大神后得出了命令。nnYUV420_8bit-&amp;gt;H264nn还可以在参数中设置<em>编码</em>码率。真是太舒服了。nnnE:\<em>ffmpeg</em>.exe -s 1920x1080 -pix_fmt yuv420p -i E:\Demo_192...
FFMPEG编码生成的MP4文件播放速度很快原因分析
个人觉得<em>ffmpeg</em>中的难点在于音视频的同步以及时间戳,这个时间戳不仅仅说是你通过av_rescale_q_rnd函数来获取就可以处理的了的,有时候格式不一样,出现的问题也是不同的。比如今天我就碰到了这个问题,我先用av_rescale_q_rnd函数来对时间戳设置,生成的<em>h264</em>文件正常,但是没有显示时长吗,不知道是不是<em>h264</em>文件本身就是这种情况??然后把<em>h264</em>换成MP4格式,录了视频有大概...
windows 10 下h264编码速度测试
本机CPU情况1, 软编<em>ffmpeg</em> -s 1920x1080 -pix_fmt yuv420p -f rawvideo -i svac_yuv_1_1920_1080_0.yuv -vcodec libx264 -preset veryfast -r 25  -y svac_yuv_1_1920_1080_1.<em>h264</em>一秒可能<em>编码</em>82帧. 这里可以用slow等参数用veryslow 1秒只有4帧...
将提取出的yuv三个分量序列合并成一个完整的彩色yuv序列(matlab实现)
在我的这篇博客中(点击打开原文链接)讲到<em>如何</em>读取4:2:0格式YUV序列的Y<em>分量</em>、U<em>分量</em>以及V<em>分量</em>,并分别保存为.yuv格式(matlab实现)。rn 现在我们将三个<em>分量</em>合并成一个完整的彩色yuv序列,代码比较简单,可以看里面的注释,就不废话了。rnY_U_V_Merge.mrn%% 将Y、U和V三个<em>分量</em>合成一个完整的YUV序列nnclearnclcnn%% Read yuv from file
使用FFMPEG对TS封装H264编码的文件进行NAL的加密
使用<em>ffmpeg</em>-3.3.3和openssl-1.0.2l对TS封装H264<em>编码</em>的文件<em>进行</em>NAL的加密,以下是我实现的接口代码:rn//#include "StdAfx.h"rn#include "TroubleShoot.h" rn#ifdef __cplusplus //rnextern "C"{rn#endifrnrn#include "TSEncrypt.h"rnrn#include
实现 V4L2视频采集与 FFMPEG 编码YUYV 数据 为H264(2)
上一篇写的是保存摄像头数据为YUYV格式的文件链接:http://blog.csdn.net/u011186256/article/details/79289989本篇文件介绍 FFMPEG <em>编码</em>YUYV 数据 为H2641、Ubuntu安装x264与FFmpegroot权限运行./configure --enable-shared --disable-asm下载last_stable_x264....
YUV422转换YUV420应用实例
    在上一篇文章中JPEG<em>编码</em>学习—JPEG数据转YUV数据应用实例 已经可以将v4l2 采集到的JPEG数据转换为YUV422格式,但是我们有时候需要使用其他格式的数据,比如用YUV420作为H264的输入数据格式。做数据格式转换,首先需要明白各种数据类型的采样分布格式。如下图:我们在上一篇中通过JPEG解码转换过来的是YUYV数据格式(YUV422),他的数据分布是:现在我们需要把YUYV...
ffmpeg+x264最简单的编码示例
一 <em>ffmpeg</em>不包含<em>h264</em><em>编码</em>部分,要做<em>h264</em><em>编码</em>需要额外引入x264库。二 最简单的<em>h264</em> <em>编码</em>代码以及设置的一些基本参数int EncodeH264(const AVPacket *srcpkt,AVPacket *out_pkt){    if(srcpkt == NULL || out_pkt == NULL)    {        srs_error(&quot;pkt is null ...
采用分治法计算两个大整数的乘积
实现算法:给定两个整数u和v,它们分别有m和n位数字,且m≤n。用通常的乘法求uv的值需要O(mn)时间。我们可以将u和v均看作是有n位数字的大整数。用分治法在O(nlog3)时间内计算uv的值。当m<开发平台:.net 2005 C++
ffmpeg获取网络摄像头硬编码H264视频流
<em>ffmpeg</em> -f dshow -vcodec <em>h264</em> -s 1280x720 -r 30 -i video="HD Pro Webcam C920" -copyinkf -c:v copy -f rtp "rtp://ip:port"已经代码实现,但是不能控制码率、I帧间隔,求大能指教!
读取YUV视频指定帧
分别读取YUV视频特定帧的Y、U、V<em>分量</em>。
05 ffmpeg桌面图像h264编码并封装avi
当<em>ffmpeg</em>获取桌面图像数据时, 数据格式是ARGB8888, 需要转换成yuv420p.ARGB8888 RGB888 yuv444 yuv420pY Y = 0.299 x R + 0.587 x G + 0.114 x B + 0 nU Cb = -0.169 x R - 0.331 x G + 0.499 x B + 128 nV Cr = 0.
H264关于一帧完整帧被分切成多个Slice时的合并思路
    在对H264<em>进行</em>编解码分析时,碰到一个完整视频帧被切分成多个Slice用于网络媒体传输的情况。而且接收端<em>进行</em>解码时需要一个完整帧(FFmpeg解码不需要拼接,内部已实现),因此怎么拼接多个Slice呢?    对于H264视频流中关于NAL Unit句法、Slice Header结构等不是本文讲述的重点,相关资料可在网上查询,但需要对H264流媒体协议格式中的AVCC及Annex B格式有...
ffmpeg摄像头数据h264编码并封装avi
<em>ffmpeg</em>摄像头数据<em>h264</em><em>编码</em>并封装avi http://blog.csdn.net/jklinux/article/details/72478004
使用ffmpeg将视频转为x264编码的mp4文件
昨天刚遇到的问题,网页播放器播放linux服务器上的mp4文件时只有进度条在动,画面全黑,首先想到的就是网页播放器的解码器是否不支持该mp4文件的<em>编码</em>。尝试了下,确实是这个问题,并且转码后文件大小从400M减小到100M,感觉这里是一个系统可优化点。 n先说下主要的命令吧: n我使用的<em>ffmpeg</em>版本为<em>ffmpeg</em>-3.3.3-win64-static。 nlinux上<em>ffmpeg</em>的安装方法参考:
FFmpeg 4.0.2编码YUV序列为H264视频文件
/******************************n功能:<em>编码</em>YUV序列为<em>h264</em>视频文件nFFmpeg:4.0.2n******************************/n#include &amp;lt;iostream&amp;gt;nextern &quot;C&quot;n{n#include &amp;lt;libavcodec/avcodec.h&amp;gt;n#include &amp;lt;libavformat/a...
基于FFMPEG的RTP推流H264和AAC文件
在本文中主要讲<em>如何</em>用FFMPEG编写RTP的推流程序和打视音频时间戳上的问题 nPS:文中代码基于LINUX一. 文件的打开和输出流的打开用avformat_open_input分别打开视音频文件,用avformat_alloc_output_context2打开输出的RTP流,注意,这里用的选项是rtp_mpegts,代表的是传输的视音频数据会打包成TS流的形式<em>进行</em>发送。rtp一个端口只能传输一路
ffmpeg编码成mpeg4或h264文件
<em>ffmpeg</em><em>编码</em>成mpeg4或<em>h264</em>文件
ffmpeg摄像头采集h264编码RTP发送
一. 相关API说明 1. av_register_all n2. avformat_network_init n 不管是流媒体发送还是流媒体接收, 需要先执行该函数. n3. avformat_alloc_context n 初始化一个AVFormatContext. n4. avcodec_alloc_framen 初始化1个AVFrame. **需要注意的是,新版的FFmpe
VideoToolbox视频编码——在macOS上对获取到的视频进行编码的问题记录 及YUV422转YUV420
想在macOS平台上写一个将Mac摄像头上获取到的视频数据使用VideoToolBox<em>编码</em>后socket发送出去的服务器,但是遇到了好多问题n先是在接受数据的客户端最终渲染出来的视频中发现绿屏现象,如下图所示:nnn并且报-12911的错误信息,网上查了一下说是视频数据不完整的原因,n经过验证,初步排除了socket收发数据有误的可能,所以暂时将焦点放在了macOS端的工程上,n将ma
ffmpeg 向H.264编码的视频中添加 SEI
SEI NALU数据格式n NALU 类型 1 字节 0x06n SEI 负载类型 1 字节 0x05 (用户自定义数据)n 负载大小(uuid+自定义数据),如果大小 size 大于 255,前 int(size / 255) 个字节都是 FF,最后一个字节是剩余部分n 负载的唯一标志 uuid 16 字节n 自定义数据n n 完成 NALU 数据<em>编码</em>n          替换 00 0...
利用ffmpeg从USB摄像头获取视频并保存为H264的TS流的C语言源代码
利用<em>ffmpeg</em>的API从USB摄像头获取视频并保存为H264的TS流的C语言源代码
ffmpeg代码分析--h264的GPU加速
硬件选择-hwaccel_device 0{ &quot;hwaccel_device&quot;,   OPT_VIDEO | OPT_STRING | HAS_ARG |OPT_EXPERT |                          OPT_SPEC |OPT_INPUT,                                 { .off = OFFSET(hwaccel_devices)...
Android编译FFmpeg4.0.2添加H264编码(FFmpeg编译二)
目前测试发现使用NDK16以上的版本编译不了FFmpeg,原因未知。nn我使用的系统ubuntu18.04,先编译FFmpeg,成功之后再添加X264的库。nn编译FFmpeg的脚本如下:nn#!/bin/bashn#!/bin/bashnNDK=/home/hong/Public/android-ndk-r14bnSYSROOT=$NDK/platforms/android-21/arch-ar...
WEBRTC 支持H264编解码
WEBRTC视频编解码支持H264 VP8 VP9 但是默认是VP8 ,根据SDP描述协商nWEBRTC H264<em>编码</em>采用OPENH264 解码采用FFMPEGn一 让WEBRTC支持H264<em>编码</em>n1. 修改配置支持H264<em>编码</em>n webrtc/build/common.gypi  rtc_use_<em>h264</em>=1(只要有都设为1),这样OPENH264就会生成n 然后需要重新编译
ffmpeg+x264如何编出动态gop的视频流
一 一般<em>编码</em><em>h264</em>的时候需要设置gop size, group of picture size,意思是多少帧出现一个I帧。这个值设置之后,<em>编码</em>器出帧就会严格按照这个间隔来的,那有人想要在画面运动剧烈的时候尽可能降低gop,在静态的时候增大gop,怎样做呢?看看x264源码AVFrame结构体:  uint8_t *data[AV_NUM_DATA_POINTERS];//存放yuv数据的指针,具...
在navidia显卡上使用ffmpeg硬编H264
在学习OBS源码过程中,看到它支持的英伟达硬编功能,摘抄一部分重点代码供参看研究nn直接上代码:nn参数设置:nnnobs_data_set_default_int(settings, &quot;bitrate&quot;, 2500);nobs_data_set_default_int(settings, &quot;keyint_sec&quot;, 0);nobs_data_set_default_int(settings, &quot;...
java 工具包 h264转码MP4 支持html5播放格式
<em>h264</em>转码MP4 支持html5播放格式 示例代码: H264TrackImpl <em>h264</em>TrackImpl = new H264TrackImpl(new FileDataSourceImpl("C://a.264")); Movie movie = new Movie(); movie.addTrack(<em>h264</em>TrackImpl); Container mp4f = new DefaultMp4Builder().build(movie); FileChannel fChannel = new FileOutputStream(new File&#40;"C://a.mp4"&#41;).getChannel(); mp4f.writeContainer(fChannel); fChannel.close();
ffmpeg/x264 码率控制 分析
<em>ffmpeg</em><em>编码</em><em>h264</em>流参看:<em>ffmpeg</em><em>编码</em>示例nx264<em>编码</em><em>h264</em>流:x264<em>编码</em>示例nnnn有效影响视频码率的参数有:n一:间接影响n1.关键帧间隔nnnnnnx264nnnnnnn<em>ffmpeg</em>nnnnnnnn说明nnnn命令行nn字段nn命令行nn字段nnnnnnnnmax-keyint
h264编码速度测试
1,  最新版本的<em>ffmpeg</em>4.0及x264库. 可以直接改preset那个地方av_opt_set在x264.h里面有一个枚举x264_preset_names改成medium,faster甚至very fast都可以试试这几个里面subq相差挺大的,最快时候的可能是slow的二倍多  /* x264_param_default_preset: *      The same as x264_...
关于ffmpeg with h264编码器安装的步骤
官方网站:https://trac.<em>ffmpeg</em>.org/wiki/CompilationGuide/Ubuntu ,按照全英文的文档安装,安装过程中建立了o<em>ffmpeg</em>_sources、o<em>ffmpeg</em>_build、bin三个目录,前两个目录在安装完毕后可以删除。n官方文档的示例是以root用户在/root目录下安装的,而我的本机是Ubuntu 16.04系统,经过查询发现Ubuntu默认root用
FFmpeg 开发记录---H264编码,avi封装,暴风影音,qq影音播放有声无画
使用<em>ffmpeg</em><em>编码</em>视频文件时,视频<em>编码</em>为H264,音频<em>编码</em>为MP3,封装格式为avi,发现输出的文件用vlc,mkplayer等能正常播放,但是用暴风影音或者QQ影音等无法正常播放,有声音无画面。后来发现,在创建封装格式为avi时候,是需要指定videon codec的fourcc的。目前代码中H264<em>编码</em>时指定了ncodec_tag为H264,但是为什么要指定H264呢?这个codec_t
使用DirectShow采集摄像头并对视音频进行H264和AAC实时编码后封装成MP4
使用DirectShow采集摄像头并实时<em>进行</em>H264和AAC<em>编码</em>,然后将其封装成MP4,希望对大家有用
ffmpeg解码H264缺少帧的解决办法
最近用<em>ffmpeg</em>解码H264裸码流文件,发现解码总是少几帧。上网查了些资料,解决了。
opencv提取RGB分量分量区域
网上很多提取颜色<em>分量</em>的博客,就是我提取出来的为啥不一样,然后用了其他方法<em>得到</em>了一样效果的图,就是白色很尴尬。nnn#include "stdafx.h"n#include n#include nnusing namespace cv;nusing namespace std;nnvoid GetRedComponet(Mat srcImg)n{n //如果直接对srcImg处理会改变main
yuv422P 分量提取
<em>yuv422</em> p 是yuv的一种格式,<em>如何</em>提取yuv<em>分量</em>,以下是程序n#includen#include nnint simple_<em>yuv422</em>_split(char *url,int w,int h)n{n int i = 0;n FILE *fp = fopen(url,"rb+");n FILE *fp1 = fopen("output_<em>yuv422</em>_y.yuv","wb
C#使用FFMPEG解码H264视频源码
C#版本的视频解码源码,使用FFMPEG解码H264视频文件,解码后的数据保存为YUV格式,可以使用yuvplayer播放. Dll目录是运行时使用的动态库. Video目录是测试用的H264视频文件. 源码展示了<em>如何</em>用CLR封装C代码,然后在C#项目中使用. 涉及CLR的数据格式转换,事件和线程。 项目工程使用VS 2012创建。
FFmpeg+python实现批量视频分帧
使用FFmpeg工具对短视频批量分帧,以下是一段很简单的代码:nnnimport PIL.Image as Imagenimport pylabnimport imageion#注释的代码执行一次就好,以后都会默认下载完成n#imageio.plugins.<em>ffmpeg</em>.download() #第一次运行是删除注释,下载<em>ffmpeg</em>工具nimport skimagenimport numpy a...
ffmpeg实现windows屏幕录制YUV420P并实现H264编码
完整工程下载https://download.csdn.net/download/iot_shun/10313142n首先之前我们的代码利用gdigrab已经实现了屏幕录制功能,可是我们发现,保存的YYU42OP文件实现太大,100张150M,在音视频实时传输的过程中我们需要利用软硬件实现<em>编码</em>压缩,视频<em>编码</em>的方式有很多,例如h263,MPEG-2, H264等,这里我么采用的是H264<em>编码</em>实现效果...
FFMPEG 用H264编码封装mp4 有声音无图像。或者解码错误
那是因为解码时用到的sps,pps信息缺失。rn out_stream = avformat_new_stream(ptrBoxObj->ofmt_ctx, NULL);rn  if (!out_stream) {rn   av_log(NULL, AV_LOG_ERROR, "Failedallocating output stream\n");rn   return AVERROR_UNKNO
ffmpeg_windows屏幕录制并编码成H264
<em>ffmpeg</em>_windows屏幕录制并<em>编码</em>成H264。 该工程为qt_creator工程
FFmpegH264 多线程 优化
提取FFmpeg中H264解码库的代码,支持多线程和MMX、SSE和AVX等优化。
【H264/AVC 句法和语义详解】(五):Exp-Golomb指数哥伦布编码(理论篇)
n 本篇隶属于文集:《H264/AVC 句法和语义详解》,查看文集全部文章,请点击文字链接。 n 想看最新文章,可以直接关注微信公众号:金架构nnn上篇我们说过,学习描述子是解析<em>h264</em>句法元素的第一步。而在描述子中,除了顺序读取若干比特的b(8)、f(n)、i(n)、u(n),指数哥伦布<em>编码</em>也是使用频率很高的编解码方法。nn因为指数哥伦布<em>编码</em>(Exponential-Golomb)属于熵<em>编码</em>...
通过V4L2采集yuv数据,并用x264压缩数据成H264格式的文件
一、V4L2采集YUYV视频数据rna) 打开V4L2设备并创建接收yuyv数据的文件rnopen_v4l2_device(const char *const devname)rnvideo_obj.v4l2_fd=open(devname,O_RDWR)//打卡v4l2设备rnfopen(name,"wb+")//创建yuyv数据接收文件rnb) 设置视频格式,分辨率rnset_v4l2_fmt
FFmpeg x264编码b帧时时间戳,帧率等总结
1. 在<em>进行</em>FFmpeg API转码视频时,解码出来的视频帧是包含有frame->pict_type字段的,如果<em>编码</em>前不处理,x264会按照该类型强制<em>编码</em>。如果希望x264自动插入b帧<em>编码</em>,在<em>编码</em>前需要将frame->pict_type设置为AV_PICTURE_TYPE_NONE。x264<em>编码</em>出来后的帧类型可以通过AVCodecContext的coded_frame成员来判断。rnrnrn2.
Android使用FFmpeg 解码H264并播放(三)
上一节记录了Android使用FFmpeg解码H264的过程。这一节记录在Android上播放的过程。问题描述在开发中使用某摄像头的SDK,只能获取到一帧帧的 H264 视频数据,不知道视频流地址,需要自己解码出图像并播放。问题解决Android 播放解码后的视频帧在Android上播放视频的总体思路是在Native层从 Surface 获取 到ANativeWindow,通过修改 ANativeW
实用汉化版C语言软件下载
好多朋友说找不到中文版本的C软件,我在网上找了一个,给大家分享一下! 相关下载链接:[url=//download.csdn.net/download/henshi110/2639569?utm_source=bbsseo]//download.csdn.net/download/henshi110/2639569?utm_source=bbsseo[/url]
WinCE 触摸屏驱动开发下载
WinCE 触摸屏驱动开发 DDI层DDSI层等。。。 相关下载链接:[url=//download.csdn.net/download/dding832/2865051?utm_source=bbsseo]//download.csdn.net/download/dding832/2865051?utm_source=bbsseo[/url]
电脑启动加速十五招 电脑启动加速十五招下载
电脑启动加速十五招 电脑启动加速十五招 电脑启动加速十五招 电脑启动加速十五招 相关下载链接:[url=//download.csdn.net/download/xzx760815/2992404?utm_source=bbsseo]//download.csdn.net/download/xzx760815/2992404?utm_source=bbsseo[/url]
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 大数据分教程 学习大数据分入门
我们是很有底线的