草庐IT

ffmpeg-static

全部标签

c++ - Boost 序列化给出未定义的类型 'boost::STATIC_ASSERTION_FAILURE'

我正在学习使用boost将我的一些C++类序列化。我在接口(interface)中有一个结构。我使用boostserilaize函数像这样序列化这个结构。接口(interface).hstructX{constLongrate;}templatevoidserialize(Archive&ar,uint32version){ar&this->rate;}BOOST_CLASS_EXPORT(X);现在这个头文件将被我的主类使用。比方说main.cpp,这个主类的标题有主要.h#include"Interface.h"classMain{//somestufftemplatevoidse

c++ - ffmpeg sws_scale 得到了从 YUV420P 到 RGB24 的失真图像

尝试使用将YUV420p转换为RGB24时,图像失真sws_scale.代码:ret=avcodec_decode_video2(video_dec_ctx,frame,got_frame,&pkt);if(retcoded_picture_number,"#"/*av_ts2timestr(frame->pts,&video_dec_ctx->time_base)*/);/*copydecodedframetodestinationbuffer:*thisisrequiredsincerawvideoexpectsnonaligneddata*/av_image_copy(video

c++ - FFmpeg av_read_frame 返回大小但没有数据?

我已经编写了一些C代码来访问ffmpeg并将其包装在C++/CLI(.NET管理)类中。该程序获取实时视频流并提取帧并将它们转换为PNG文件。不幸的是,保存到磁盘的图像总是黑色的(在Notepad++中打开它们显示它们充满了空值)。我正在使用程序集aformat/codec-55.dll以及开发头文件和库从ffmpeg-20131120-git-e502783-win64-dev进行编译。整个项目是使用ManagedC++(Cpp/cli).NET4.0for64-bit编译的。经过一些调查,问题似乎是av_read_frame正确填充了AVPacket->size值,但AVPAcke

【C++】类与对象(四)——初始化列表|explicit关键字|static成员|友元|匿名对象

前言:初始化列表,explicit关键字,static成员,友元,匿名对象文章目录一、构造函数的初始化列表1.1构造函数体内赋值1.2初始化列表二、explicit关键字三、static成员四、友元4.1友元函数4.2友元类五、内部类六、匿名对象一、构造函数的初始化列表1.1构造函数体内赋值classDate{public: Date(intyear,intmonth,intday){ //赋值,并非初始化 _year=year; _month=month; _day=day; }private: int_year; int_month; int_day;};构造函数调用之后,在函数体

c++ - VC++ 警告 C4356 : static data member cannot be initialized via derived class

以下代码发出此警告,但它似乎工作正常,因为A::st和B::st都已初始化并且实际上代表相同的字符串。据我了解,这是格式错误的代码,不应编译(我检查了clang)。我想知道为什么VC++不发出错误而是发出警告?#include#includeclassA{public:staticconststd::stringst;};classB:publicA{};conststd::stringB::st="abcd";//warningC4356:'A::st':staticdatamembercannotbeinitializedviaderivedclassintmain(){std::

c++ - FFmpeg:使用自定义线程池进行并行编码

我试图实现的其中一件事是通过FFmpeg的cAPI进行并行编码。这看起来开箱即用。但是,我稍微更改了目标帖子:在现有的应用程序中,我手边已经有一个线程池。我不想通过FFmpeg使用另一个线程池,而是想在我的应用程序中重用现有的线程池。研究了最新的FFmpegtrunk文档后,它看起来很有可能。使用一些FFmpeg示例代码,我创建了一个示例应用程序来演示我正在尝试实现的目标(见下文)。示例应用使用mp2v编解码器生成纯视频mpeg2ts。我遇到的问题是自定义“thread_execute”或“thread_execute2”从未被调用。尽管事实上编解码器似乎表明支持线程。请注意,我还没有

c++ - FFMpeg vs. OpenCV 格式转换/简单转换

我必须创建一个可以实时处理图像的系统。我已经用C++实现了一个像素格式转换系统,它也可以进行一些简单的转换(目前:旋转和镜像)。系统的输入/输出格式为以下格式的帧:RGB(24,32)YUYV420,YUYV422JPG原始灰度例如,一个操作可以是:YUYV422->旋转90->水平翻转->RGB24灰度->旋转270->垂直翻转->YUYV420该系统的目标是为旋转/镜像和像素格式转换提供最佳性能。我当前的实现依赖于OpenCV,但在处理超过2k分辨率的数据时我遇到了性能问题。当前的实现使用cv::Mat和cv::transpose/cv::flip/cv::cvtColor,我优化

C++:FFMPEG 和 SDL 资源

我正在寻找有关将FFmpeg和/或SDL与C++结合使用的资源(最好是书籍,但网站也可以)。我希望能够做的事情(最终):实时解码视频并将其播放到QT小部件(QT部分不成问题)在视频上叠加文字和图像(实时)循环播放视频从一个视频淡入淡出到另一个视频(实时)某种DVD功能实时资源?(即网络摄像头、流等)到目前为止,我查看了(并认为有帮助)以下资源:FFmpegandSDLTutorialbyDranger(非常有帮助)StackOverflow:ffmpegCAPIdocumentation/tutorial(不是重复的,顺便说一句)与FFMPEG库捆绑在一起的示例代码(我将尝试使用以下任

Docker RTMP服务器搭建与视频流推送示例(流媒体服务器tiangolo/nginx-rtmp,推流客户端ffmpeg)

文章目录RTMP服务器搭建与视频流推送第一部分:搭建RTMP服务器(流媒体服务器)1.1安装Docker1.2搭建RTMP服务器第二部分:使用ffmpeg进行视频推流(推流客户端)2.1安装ffmpeg2.2使用ffmpeg推流第三部分:使用VLC播放RTMP流3.1安装VLC3.2使用VLC播放RTMP流`-stream_loop`参数实现视频流重复播放总结RTMP服务器搭建与视频流推送在这篇文章中,我将详述如何搭建一个RTMP(Real-TimeMessagingProtocol)服务器,并使用ffmpeg技术进行本地视频的推流。最后,我们将使用VLC播放器来播放这个RTMP流。第一部分:

c++ - 海湾合作委员会 : Specifying static/dynamic libraries to build against

我有一个简单的C++项目,其结构如下:-一个基础项目(即:包含main()),以及针对其他所有内容的链接--一些自定义库,它们都是作为静态库构建的(即:.a文件)---其中一个静态库使用共享目标文件(即:.so文件)中的功能因此,例如,在所有初始编译完成后,项目在链接时将如何显示(在TreeView中):-myApp(themainapplication)--libaudio.a(theaudiolibraryImade)--libnetwork.a(thenetworkinglibraryImade)--libvideo.a(thevideolibraryImade)--libboo