代码拉取完成,页面将自动刷新
同步操作将从 Vanishi/BXC_gb28181Player 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
//
// Created by bxc on 2023/4/18.
// 作者:北小菜
// 邮箱:bilibili_bxc@126.com
// 西瓜视频主页:https://www.ixigua.com/home/4171970536803763
// 哔哩哔哩主页:https://space.bilibili.com/487906612/
//
#ifndef GB28181PLAYER_GB28181PLAYER_H
#define GB28181PLAYER_GB28181PLAYER_H
#include <windows.h>
#include <atomic>
#define SDL_MAIN_HANDLED
#include <SDL.h>
extern "C"
{
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>
}
#define GB28181Player_buffer_max_size 4194304 // 4M = 4 * 1024 * 1024 = 4194304 字节
class GB28181Player
{
public:
GB28181Player();
~GB28181Player();
public:
bool probe();//阻塞式探测国标流并获取解码参数
void play();//在探测国标流成功以后,解码并渲染国标视频流
public:
std::atomic<char> buffer[GB28181Player_buffer_max_size];
std::atomic_int bufferSize = 0;
private:
AVFormatContext * mFmtCtx;
AVIOContext * mAvioCtx;
const AVInputFormat* mInputFmt;
int mVideoStream = -1;
AVCodecParameters * mVideoCodecPar;
AVCodecContext * mVideoCodecCtx;
AVDictionary* net_options;//网络连接参数
AVDictionary* codec_options;//编码参数
};
#endif //GB28181PLAYER_GB28181PLAYER_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。