| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #ifndef ULTRA_LOW_LATENCY_CONFIG_H
- #define ULTRA_LOW_LATENCY_CONFIG_H
- // 超低延迟模式配置参数(针对RTMP/WebRTC优化)
- namespace UltraLowLatencyConfig {
- // 缓冲区大小优化(激进模式)
- constexpr int ULTRA_FRAME_QUEUE_SIZE = 1; // 减少到1帧 ≈ 33ms@30fps
- constexpr int ULTRA_PACKET_QUEUE_SIZE = 2; // 减少到2包 ≈ 67ms
- constexpr int MAX_FRAME_QUEUE_SIZE = 2; // 最大帧队列大小
- constexpr int MIN_FRAME_QUEUE_SIZE = 1; // 最小帧队列大小
-
- // 音频缓冲区优化(激进模式)
- constexpr int ULTRA_AUDIO_SAMPLES = 128; // 减少到128样本 ≈ 2.9ms@44.1kHz
- constexpr int MAX_AUDIO_SAMPLES = 256; // 最大音频样本数
- constexpr int MIN_AUDIO_SAMPLES = 64; // 最小音频样本数
-
- // 同步阈值优化(激进模式)
- constexpr double ULTRA_SYNC_THRESHOLD_MIN = 0.005; // 减少到5ms
- constexpr double ULTRA_SYNC_THRESHOLD_MAX = 0.020; // 减少到20ms
- constexpr double ULTRA_NOSYNC_THRESHOLD = 1.0; // 减少到1秒放弃同步
- constexpr double ULTRA_SYNC_FRAMEDUP_THRESHOLD = 0.040; // 减少到40ms
- constexpr double ULTRA_SYNC_REJUDGE_THRESHOLD = 0.002; // 减少到2ms
-
- // 高精度时间常量(int64类型,微秒单位)
- constexpr int64_t ULTRA_SYNC_THRESHOLD_MIN_US = 5000LL; // 5ms
- constexpr int64_t ULTRA_SYNC_THRESHOLD_MAX_US = 20000LL; // 20ms
- constexpr int64_t ULTRA_SYNC_REJUDGE_THRESHOLD_US = 2000LL; // 2ms
-
- // 网络优化参数(RTMP专用)
- constexpr const char* RTMP_LIVE = "1"; // 启用RTMP直播模式
- constexpr int PROBE_SIZE = 16; // 极小探测大小
- constexpr int ANALYZE_DURATION = 0; // 关闭分析
- constexpr int MAX_DELAY = 100000; // 100ms最大延迟
- constexpr const char* FFLAGS = "nobuffer+fastseek+flush_packets"; // 无缓冲+快速定位+立即刷新
- constexpr int BUFFER_SIZE = 65536; // 64KB接收缓冲区
-
- // 字符串版本的配置参数
- constexpr const char* PROBE_SIZE_STR = "16";
- constexpr const char* ANALYZE_DURATION_STR = "0";
- constexpr const char* MAX_DELAY_STR = "100000"; // 100ms
- constexpr const char* BUFFER_SIZE_STR = "65536"; // 64KB
- constexpr const char* RTMP_LIVE_STR = "1";
-
- // RTMP流优化参数
- constexpr const char* RTMP_BUFFER = "0"; // 禁用RTMP缓冲
- constexpr int STIMEOUT = 3000000; // 3秒连接超时
- constexpr const char* STIMEOUT_STR = "3000000";
-
- // 解码器优化(超低延迟配置)
- constexpr int DECODER_THREAD_COUNT = 1; // 单线程减少延迟
- constexpr const char* CODEC_PRESET = "ultrafast"; // 最快预设
- constexpr const char* CODEC_TUNE = "zerolatency"; // 零延迟调优
- constexpr bool ENABLE_FRAME_DROP = true; // 启用丢帧
- constexpr double FRAME_DROP_THRESHOLD = 0.020; // 20ms丢帧阈值
-
- // 渲染优化
- constexpr bool ENABLE_VSYNC = false; // 禁用垂直同步
- constexpr int RENDER_AHEAD_FRAMES = 0; // 不提前渲染
- }
- #endif // ULTRA_LOW_LATENCY_CONFIG_H
|