ffmpeg 学习
ffmpeg 学习
虾球xz
光说不练假把式
展开
-
Qt6 ffmpeg 音频和视频(同步)推流到nginx-rtmp3
main.cpp#include <QApplication>#include "Controller.h"using namespace std;int main(int argc, char *argv[]){ QApplication a(argc, argv); qDebug() << "main thread:" << QThread::currentThreadId(); Controller *controller原创 2021-11-22 17:36:09 · 3092 阅读 · 0 评论 -
Qt6 ffmpeg 音频和视频(非同步)推流到nginx-rtmp 2
main.cpp#include <QApplication>#include "Controller.h"using namespace std;int main(int argc, char *argv[]){ QApplication a(argc, argv); qDebug() << "main thread:" << QThread::currentThreadId(); Controller *controller =原创 2021-11-20 18:07:44 · 3273 阅读 · 0 评论 -
Qt6 ffmpeg 音频和视频(非同步)推流到nginx-rtmp
main.cpp#include <QApplication>#include "Controller.h"using namespace std;int main(int argc,char *argv[]){ QApplication a(argc,argv); qDebug() << "main thread:" << QThread::currentThreadId(); Controller* controller =原创 2021-11-19 15:53:27 · 3527 阅读 · 0 评论 -
Qt6 屏幕录相(包括音频视频)
widget.h#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QTimerEvent>QT_BEGIN_NAMESPACEnamespace Ui { class Widget; }QT_END_NAMESPACEclass Widget : public QWidget{ Q_OBJECTpublic: Widget(QWidget *parent = nullpt原创 2021-11-18 01:17:10 · 2260 阅读 · 3 评论 -
Qt6 QAudioSource录 pcm 音频
widget.h#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QAudioSource>#include <QFile>#include <QMediaFormat>#include <QMediaRecorder>#include <QUrl>#include <QMediaCaptureSession>#include <原创 2021-11-16 20:39:40 · 1459 阅读 · 1 评论 -
opencv ffmpeg推流
基于opencv采集推流1.opencv采集rtsp解码 //可以基于usb 摄像机(调用系统驱动)和rtsp(调用ffmpeg 接口 转yuv加解码) 摄像机2.ffmpeg缩放转换像素格式3.ffmpeg编码H264 4.ffmpeg推流rtmpsws_getCachedContext (像素格式转换 会清理之前的数据)1.struct SwsContext *context,2.int srcW,int srcH,enum AVPixelFormat srcFormat,3.int原创 2021-11-16 00:31:40 · 4225 阅读 · 4 评论 -
opencv打开摄像头ffmpeg推流到nginx-rtmp
基于opencv采集推流1.opencv采集rtsp解码 //可以基于usb 摄像机(调用系统驱动)和rtsp(调用ffmpeg 接口 转yuv加解码) 摄像机2.ffmpeg缩放转换像素格式3.ffmpeg编码H264 4.ffmpeg推流rtmpsws_getCachedContext (像素格式转换 会清理之前的数据)1.struct SwsContext *context,2.int srcW,int srcH,enum AVPixelFormat srcFormat,3.int原创 2021-11-15 18:58:07 · 2969 阅读 · 0 评论 -
rtsp推流
main.cppextern "C"{#include <libavformat/avformat.h>#include <libavutil/time.h>}#include <iostream>using namespace std;int XError(int errNum){ char buf[1024] = {0}; av_strerror(errNum,buf,sizeof(buf)); cout<<buf<<原创 2021-11-15 14:51:01 · 366 阅读 · 0 评论 -
ffmpeg 推流 flv
//打开格式进行解封装1.avformat_open_input(AVFormatContext **ps, //打开文件的上下文const char *url,//文件的路径AVInputFormat *fmt,AVDictionary **options)AVFormatContext封装格式的上下文AVIOContext *pb; IO上下文AVStream x**streams; //视频音频字幕流int nb_streams; AVStreamAVRati原创 2021-11-15 14:18:33 · 2660 阅读 · 0 评论 -
nginx rtmp
下载nginxwget http://nginx.org/download/nginx-1.21.4.tar.gzgit clone https://github.com/arut/nginx-rtmp-module.git安装 libpcre3-devsudo apt install libpcre3-dev./configure --add-module=/home/xz/study/csdn/rtmp/nginx/nginx-rtmp-modulexz@xiaqiu:~/st原创 2021-11-15 10:35:08 · 1104 阅读 · 0 评论 -
ffmpeg 推流到 crtmpserver 测试
直播rtmp 分发退流------>直播服务器CDN------>各个客户端(rtmp,http-flv,hls)推流RGB RGBrtsp h264 1.图像采集----->美颜,水印—>转YUV H264编码rtsp aac 2.音频采集----->去噪,变音—>音频重采样aac编码PCMh264----|---->FLV封装–>FLV—>推流---->RTMP–>直播服务CD原创 2021-11-15 01:09:10 · 921 阅读 · 0 评论 -
rgb pcm 转 mp4
视频编码1.读取RGB文件转换为yuv2.压缩为h2643.封装为MP4YUV1.“Y"表示明亮度,也就是灰度值2.而"U” 和 “V” 则表示色度CMakeLists.txtcmake_minimum_required(VERSION 3.4.1)project(ffmpeg_pro VERSION 0.1.0 LANGUAGES CXX C)##配置 预编译库 如ffmpeg库 路径 # find_library(AVCODEC_LIBRARY avcodec)# find_l原创 2021-11-11 19:04:25 · 2345 阅读 · 0 评论 -
视频的封装和编码 ffmpeg视频格式转换
视频的封装和编码视频格式1.封装格式 AVI MP4 ASF2.编码格式 H264 wmv XviD常用的封装格式1.AVI 压缩标准可任意选择2.FLV ts 流媒体格式3.ASF4.mp4常用编码格式1.视频h264 (AVC Part10),wmv XviD(part2),mjpeg2.音频acc MP3 ape flac封装格式和编码格式----------------------------------------------------------封装格式(格式头)原创 2021-11-08 18:15:36 · 1683 阅读 · 1 评论