ffmpeg
qq76211822
这个作者很懒,什么都没留下…
展开
-
ffmpeg7.0 AVFrame的分配与释放
根据描述,AVFrame的分配函数是av_frame_alloc,但是仅仅只是分配AVFrame对象,AVFrame的成员变量data是不分配的。原创 2024-09-09 19:07:47 · 363 阅读 · 0 评论 -
windows libx264 编码
【代码】windows libx264 编码。原创 2024-09-04 15:21:42 · 175 阅读 · 0 评论 -
windows 编译libx264报错问题之解决
在下载Mingw后,安装安装完成后,执行gcc -v提示找不到gcc。原创 2024-09-02 11:51:24 · 318 阅读 · 0 评论 -
c++ 通过 enhance rtmp 发送 h265 视频流
Enhancing rtmp, FLV 2023年7月31号正式发布,主要支持了HEVC(H.265)、VP9、AV1视频编码。发送数据一般有basic header + message header ++ 数据。原创 2024-04-18 17:44:13 · 967 阅读 · 0 评论 -
Ubuntu22.04 交叉编译ffmpeg for Rv1106
【代码】Ubuntu22.04 交叉编译ffmpeg for Rv1106。原创 2023-12-11 12:21:09 · 368 阅读 · 0 评论 -
ffmpeg 带pcm mu LAW的flv转mp4
不支持MP4容器中的PCM (pcm_alaw、pcm_s16le等)。将音频编码为AAC,或使用不同的输出容器格式,如MOV或MKV。原创 2023-12-11 11:42:15 · 189 阅读 · 0 评论 -
ffmpeg5.1 取流
ffmpeg5.1 rtsp取流原创 2022-11-22 20:28:03 · 458 阅读 · 0 评论 -
Ubuntu20.04 交叉编译ffmpeg
ubuntu20.04 交叉编译ffmpeg原创 2022-11-12 08:33:48 · 493 阅读 · 0 评论 -
Ubuntu18.04 编译ffmpeg、intel media sdk、cuda合并流程
一、下载intel media sdk下载地址:https://github.com/Intel-Media-SDK/MediaSDK/releases下载版本:Media SDK 20.2.0参考资料:https://github.com/Intel-FFmpeg-Plugin/Intel_FFmpeg_plugins/wiki选择MediaStack.tar.gz下载二、 安装intel media sdk将MediaStack.tar.gz解压到某个目录,执行instal.原创 2020-07-22 14:26:38 · 509 阅读 · 0 评论 -
Ubuntu18.04 编译ffmpeg、intel media sdk
一、下载intel media sdk下载地址:https://github.com/Intel-Media-SDK/MediaSDK/releases下载版本:Media SDK 20.2.0选择MediaStack.tar.gz下载二、 执行脚本将MediaStack.tar.gz解压到某个目录,执行install_media.sh的脚本./install_media.sh会存在/opt/intel/mediasdk目录三、解压ffmpeg4.2.3到/..原创 2020-07-22 10:17:16 · 873 阅读 · 0 评论 -
ubuntu18.04 编译ffmpeg、cuda
一、安装cuda依赖 apt install nvidia-cuda-toolkit二、进入ffmpeg目录cd /opt/ffmpeg-4.2.3然后执行git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.gitcd nv-codec-headersmakesudo make install三、编译PKG_CONFIG_PATH=/opt/ffmpeg-4.2.3/nv-codec-h.原创 2020-07-21 17:10:30 · 763 阅读 · 0 评论 -
Windows FFmpeg/libav using NVIDIA GPUs
FFmpeg GPU HW-Acceleration Support Table Fermi Kepler Maxwell (1st Gen) Maxwell (2nd Gen) Maxwell (GM206) Pascal Volta Turing Ampere H.264 encoding N/A FFmpeg v3.3 FFmpeg v3.3 FFmpeg v3.3 ..原创 2020-07-13 10:31:49 · 314 阅读 · 0 评论 -
Windows msys2编译ffmpeg、cuda、intel media sdk之完整流程
一、安装基础软件vs编译器VS2017Mingw: msys2-x86_64-20200629.exe, 默认安装二、msys2使用VS编译器1.编辑C:\msys64\msys2_shell.cmd2.将rem set MSYS2_PATH_TYPE=inherit 修改为set MSYS2_PATH_TYPE=inherit3.到开始菜单,执行“Visual Studio 2017->适用于 VS 2017 的 x64 本机工具命令提示”,在命令窗口下执行C:\m.原创 2020-07-12 11:50:48 · 2797 阅读 · 0 评论 -
Windows msys2编译ffmpeg之ERROR: cuvid requested, but not all dependencies are satisfied: cuda/ffnvcodec
一、错误Nvidia Cuda with drivers are installed. When I try to configure ffmpeg, it says:ERROR: cuvid requested, but not all dependencies are satisfied: cudaNewer ffmpeg will show a similar, re-worded message:ERROR: cuda requested, but not all depend原创 2020-07-11 18:16:59 · 1269 阅读 · 2 评论 -
Windows msys2编译ffmpeg找不到库路径问题之解决方法
FFMpeg支持MinGW以及visual studio编译,两者的configure选项在指定链接库的路径时有差异:msvc:--extra-ldflags=-LIBPATH:../builds/libmingw:--extra-ldflags=-L../builds/lib原创 2020-07-11 11:45:57 · 1587 阅读 · 0 评论 -
Windows msys2编译ffmpeg、intel media sdk问题之error LNK2019之解决办法
一、错误libmfx.lib(mfx_plugin_hive.obj) : error LNK2019: unresolved external symbol _swscanf_s referenced in function "private: bool __thiscall MFX::MFXPluginsInFS::ParseKVPair(wchar_t *,wchar_t *,class MFX::PluginDescriptionRecord &)" (?ParseKVPair@MFX原创 2020-07-11 11:40:20 · 1179 阅读 · 2 评论 -
ffmpeg fatal error C1189: #error : missing -D__STDC_CONSTANT_MACROS
解决办法:#define __STDC_CONSTANT_MACROS#define __STDC_LIMIT_MACROSextern "C" {#include #include #include #include #include #include #include #include }原创 2018-01-30 15:18:09 · 460 阅读 · 0 评论 -
ffmpeg播放rtsp视频流花屏解决办法
转载地址:http://blog.sina.com.cn/s/blog_9e7753030102vd5s.html花屏有四个原因:其一是发送数据包太大,超过了ffmpeg默认最大值。解决方法为下面的步骤 1。其二是网络情况较差时,因网络状况出现的丢包而导致花屏。我这里是将有丢包的帧过滤掉,从而避免花屏现象。解决方法为下面的步骤2,3。其三是因为解码出错。解决方法为下面的2,4,5,...转载 2019-02-20 14:55:22 · 19392 阅读 · 2 评论 -
YUV图像格式
YUV格式有两大类:planar和packed:1.对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。2.对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。 YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或...转载 2019-06-10 09:57:57 · 3051 阅读 · 0 评论 -
平面YUV420转RGB24
static void YUV420p_to_RGB24(unsigned char *yuv420[3], unsigned char *rgb24, int width, int height) { int R,G,B,Y,U,V; int x,y; int nWidth = width>>1; //色度信号宽度 for (y = 0; y < height; y++){ for原创 2016-10-19 09:11:52 · 496 阅读 · 0 评论 -
ffmpeg error C2065: “UINT_LEAST64_MAX”: 未声明的标识符
#define __STDC_LIMIT_MACROSextern "C" {#include #include #include #include #include #include #include #include }原创 2018-01-30 15:16:10 · 1214 阅读 · 1 评论 -
ffmpeg 模块对于 SAFESEH 映像是不安全的
1>avcodec.lib(dyhahs00198.o) : error LNK2026: 模块对于 SAFESEH 映像是不安全的。1>avcodec.lib(dyhahs00159.o) : error LNK2026: 模块对于 SAFESEH 映像是不安全的。1>avcodec.lib(dyhahs00071.o) : error LNK2026: 模块对于 SAFESEH 映像是原创 2018-01-30 15:15:12 · 1212 阅读 · 2 评论 -
ffmpeg 编码摄像机H264流
.h#pragma once#include "headers.h"extern "C"{#include #include "libavformat/avformat.h"#include "libavutil/avutil.h"#include "libswscale/swscale.h"}class CX264Encoder{public: CX264Encod原创 2016-12-27 09:00:55 · 547 阅读 · 1 评论 -
ffmpeg 将yuv转换成H264
#include "stdafx.h"#ifdef _WIN32//Windowsextern "C"{#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"#include "libavutil/opt.h"#include "libavutil/parseutils.h"#include "libavu原创 2016-12-01 14:14:14 · 4550 阅读 · 0 评论 -
ffmpeg 从yuv文件剪切一帧图片
#include "stdafx.h"#ifdef _WIN32//Windowsextern "C"{#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"#include "libavutil/opt.h"#include "libavutil/parseutils.h"#include "libavu原创 2016-11-30 14:50:03 · 2712 阅读 · 5 评论 -
YV12转RGB24
bool YV12_to_RGB24(unsigned char* pYV12, unsigned char* pRGB24, int iWidth, int iHeight){ IplImage* pImage = cvCreateImageHeader(cvSize(iWidth, iHeight), IPL_DEPTH_8U, 3); pImage->imageData = (char原创 2016-10-19 09:12:58 · 845 阅读 · 2 评论 -
YV12转RGB24
static void yv12_to_rgb24 (unsigned char *src, unsigned char *dest, int width, int height) { register int i, j; register int y0, y1, u, v; register int r, g, b; register unsigned char *s[3];原创 2016-10-19 09:12:27 · 932 阅读 · 0 评论 -
平面YUV420转平面YUV422
static void YUV420p_to_YUV422p(unsigned char *yuv420[3], unsigned char *yuv422, int width, int height){ int x, y; //亮度信号Y复制 int Ylen = width*height; memcpy(yuv422, yuv420[0], Ylen); //色度信号U复制原创 2016-10-19 09:11:31 · 697 阅读 · 2 评论 -
平面YUV422转平面RGB24
static void YUV422p_to_RGB24(unsigned char *yuv422[3], unsigned char *rgb24, int width, int height){ int R,G,B,Y,U,V; int x,y; int nWidth = width>>1; //色度信号宽度 for (y = 0; y < height; y++){ for原创 2016-10-19 09:11:04 · 488 阅读 · 0 评论 -
420p转RGB
static void cvt_420p_to_rgb(int width, int height, const unsigned char *src, unsigned char *dst){ int r, g, b; int rdif, gdif, bdif, y; int yy, uu, vv; int xoff, yoff; int numpix = width*height;原创 2016-10-19 09:10:36 · 198 阅读 · 0 评论 -
ffmpeg错误码
AVERROR_BSF_NOT_FOUND = -1179861752AVERROR_BUG = -558323010AVERROR_DECODER_NOT_FOUND = -1128613112AVERROR_DEMUXER_NOT_FOUND = -1296385272AVERROR_ENCODER_NOT_FOUND = -1129203192AVERROR_EOF = -5414原创 2016-08-30 18:34:28 · 14622 阅读 · 2 评论 -
ffmpeg AVFrame转BMP 或者其他形式转化也可
void CffmpegUIDlg::SaveAsBMP(AVFrame *pFrameRGB, int width, int height, int bpp){ BITMAPFILEHEADER bmpheader; BITMAPINFOHEADER bmpinfo; bmpheader.bfType = 0x4d42; bmpheader.bfReserve原创 2016-11-25 13:40:28 · 2471 阅读 · 0 评论 -
ffmpeg读取H264,截取BMP
void SaveBmp(AVFrame* avPacket, int nWidth, int nHeight, int nBpp){ BITMAPFILEHEADER bmpHeader; bmpHeader.bfType = 0x4d42; bmpHeader.bfSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) +原创 2016-11-25 13:44:50 · 1100 阅读 · 0 评论 -
ffmpeg 将flv转yuv
av_register_all(); avformat_network_init(); AVFormatContext* pFormatContext = avformat_alloc_context(); if (avformat_open_input(&pFormatContext, "D:\\video\\cuc_ieschool.flv", NULL, NULL) != 0){原创 2016-11-25 17:08:44 · 1266 阅读 · 0 评论 -
ffmpeg 解码摄像机H264流
.h:#pragma once#include "headers.h"// #define _SDL_config_win32_hextern "C"{#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"#include "libavutil/avutil.h"#include "libswsca原创 2016-12-27 08:59:11 · 450 阅读 · 0 评论 -
YV12转Iplimage
void HC_Out(char *pBuf, DWORD dwWidth, DWORD dwHeight){ if(!pBuf){ return; } IplImage* pImage_YV12 = cvCreateImageHeader(cvSize(dwWidth, dwHeight / 2 * 3), IPL_DEPTH_8U, 1); if (!pImage_YV12){原创 2016-12-26 09:29:54 · 281 阅读 · 0 评论 -
视音频基础知识——I,P,B,PTS,DTS
一:I帧,P帧和B帧I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象。I帧可以看成是一个图像经过压缩后的产物。自身可以通过视频解压算法解压成一张单独的完整的图片。P frame: 前向预测编码帧 又称predictive-frame,通过充分将低于图像序原创 2016-12-15 13:39:44 · 415 阅读 · 0 评论 -
seek导致视频花屏解决方法
seek后是因为没有切到关键帧,向前或者向后继续读,直到关键帧为止原创 2016-12-14 09:20:30 · 1653 阅读 · 0 评论 -
FFmpeg长时间无响应的解决方法
需要解决的问题1、FFmpeg去连接的时候相机不在线导致avformat_open_input等函数一直死等,造成程序卡死2、av_read_frame的过程中相机断开连接导致读取码流一直死等解决方法打开流媒体之前注册FFmpeg回调函数int CffmpegUIDlg::interrupt_cb(void *ctx) { CffmpegU原创 2016-08-30 15:40:02 · 17657 阅读 · 5 评论