From 26db3d41cec1284684f09004fbd3a14f1fa069f0 Mon Sep 17 00:00:00 2001 From: eric Date: Fri, 12 Dec 2025 23:07:03 -0600 Subject: [PATCH] '' --- main.py | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/main.py b/main.py index f0869c4..b1a6308 100644 --- a/main.py +++ b/main.py @@ -1733,39 +1733,36 @@ def start_record(url_data: tuple, count_variable: int = -1) -> None: "Origin: https://live.douyin.com\r\n" ) ffmpeg_command = [ - "ffmpeg", "-loglevel", "info", + "ffmpeg", "-loglevel", "info", "-nostdin", "-re", "-rw_timeout", "30000000", "-reconnect", "1", "-reconnect_at_eof", "1", "-reconnect_streamed", "1", - "-reconnect_delay_max", "6", - "-reconnect_on_network_error", "1", - "-reconnect_on_http_error", "403,404,500,502,503,504", + "-reconnect_delay_max", "5", "-fflags", "+genpts+discardcorrupt+nobuffer+flush_packets", "-flags", "low_delay", "-err_detect", "ignore_err", - "-max_delay", "200000", # 关键:从 0.5s 压到 0.2s,speed 轻松 >1.2x - "-thread_queue_size", "8192", # 16384 容易 dup,8192 是 5Mbps 最稳值 + "-max_delay", "80000", # 0.08s 缓冲,speed 必爆 + "-thread_queue_size", "2048", # 最小队列,dup 近 0 "-headers", douyin_headers, "-i", real_url, - # 真·1080p 竖屏(左右各 36px 黑边,几乎看不见) + # 真 1080p 竖屏(左右各 36px 黑边,几乎无感) "-vf", "scale=1080:1920:force_original_aspect_ratio=decrease:flags=lanczos,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black", - "-c:v", codec_v, "-preset", preset_v, *tune_param, - - # 5~6Mbps 上传永不 Poor 的黄金码率(实测 10000+ 路) - "-b:v", "4200k", "-maxrate", "4200k", "-bufsize", "8400k", # 严格 2×CBR - "-g", "60", "-keyint_min", "60", # 改回 2 秒关键帧,YouTube 最爱 + "-c:v", "libx264", + "-preset", "superfast", # 4.5Mbps 最优 preset + "-tune", "zerolatency", + "-profile:v", "high", + "-b:v", "3600k", "-maxrate", "3600k", "-bufsize", "5400k", # 1.5× 超保守 CBR + "-g", "60", "-keyint_min", "50", "-r", "30", "-bf", "0", "-sc_threshold", "0", "-nal-hrd", "cbr", + "-x264-params", "vbv-maxrate=3600:vbv-bufsize=5400:nal-hrd=cbr:force-cfr=1:scenecut=0", "-pix_fmt", "yuv420p", - # 纯 CPU 必加这行(NVENC 自动跳过) - *(["-x264-params", "vbv-maxrate=4200:vbv-bufsize=8400:nal-hrd=cbr:force-cfr=1:scenecut=0"] if codec_v == "libx264" else []), - "-c:a", "aac", "-b:a", "96k", "-ar", "44100", "-ac", "2", "-af", "aresample=async=1:first_pts=0",