|
|
@ -1,5 +1,6 @@
|
|
|
|
#include "cffmpeg_decode.h"
|
|
|
|
#include "cffmpeg_decode.h"
|
|
|
|
Cffmpeg_decode::Cffmpeg_decode() {
|
|
|
|
// Cffmpeg_decode::Cffmpeg_decode() {
|
|
|
|
|
|
|
|
Cffmpeg_decode::Cffmpeg_decode(QObject *parent) : QObject(parent) {
|
|
|
|
fmtCtx = avformat_alloc_context();
|
|
|
|
fmtCtx = avformat_alloc_context();
|
|
|
|
pkt = av_packet_alloc();
|
|
|
|
pkt = av_packet_alloc();
|
|
|
|
yuvFrame = av_frame_alloc();
|
|
|
|
yuvFrame = av_frame_alloc();
|
|
|
@ -31,10 +32,10 @@ bool Cffmpeg_decode::open_input_file() {
|
|
|
|
// 设置缓存大小,1080p可将值调大
|
|
|
|
// 设置缓存大小,1080p可将值调大
|
|
|
|
av_dict_set(&avdic, "buffer_size", "2048000", 0);
|
|
|
|
av_dict_set(&avdic, "buffer_size", "2048000", 0);
|
|
|
|
// 以udp方式打开,如果以tcp方式打开将udp替换为tcp
|
|
|
|
// 以udp方式打开,如果以tcp方式打开将udp替换为tcp
|
|
|
|
av_dict_set(&avdic, "rtsp_transport", "tcp", 0);
|
|
|
|
av_dict_set(&avdic, "rtsp_transport", "udp", 0);
|
|
|
|
// 设置超时断开连接时间,单位微秒//listen_timeout
|
|
|
|
// 设置超时断开连接时间,单位微秒//listen_timeout
|
|
|
|
// av_dict_set(&avdic, "listen_timeout", "200000", 0);
|
|
|
|
av_dict_set(&avdic, "listen_timeout", "200000", 0);
|
|
|
|
av_dict_set(&avdic, "stimeout", "200000", 0);
|
|
|
|
// av_dict_set(&avdic, "stimeout", "200000", 0);
|
|
|
|
av_dict_set(&avdic, "max_delay", "3", 0); // 设置最大时延
|
|
|
|
av_dict_set(&avdic, "max_delay", "3", 0); // 设置最大时延
|
|
|
|
av_dict_set(&avdic, "tune", "zerolatency", 0);
|
|
|
|
av_dict_set(&avdic, "tune", "zerolatency", 0);
|
|
|
|
av_dict_set(&avdic, "preset", "ultrafast", 0);
|
|
|
|
av_dict_set(&avdic, "preset", "ultrafast", 0);
|
|
|
|