This commit is contained in:
eric
2025-12-11 23:47:15 -06:00
parent eaa3d67d16
commit 70dcc8f8ba

84
main.py
View File

@@ -1672,8 +1672,8 @@ def start_record(url_data: tuple, count_variable: int = -1) -> None:
# ========== 参数配置(保留你原始配置) ========== # ========== 参数配置(保留你原始配置) ==========
# YT_STREAM_KEY = "qxvb-r47b-r5ju-6ud3-6k7z" # YT_STREAM_KEY = "qxvb-r47b-r5ju-6ud3-6k7z"
youtube_rtmp = f"rtmp://a.rtmp.youtube.com/live2/x04z-564w-aks7-embw-30y4" # youtube_rtmp = f"rtmp://a.rtmp.youtube.com/live2/x04z-564w-aks7-embw-30y4"
# youtube_rtmp="rtmp://192.168.31.184/live/douyin" youtube_rtmp="rtmp://127.0.0.1/live/douyin"
# # ←←←← 在这块代码的上方先定义你要推的多个地址 ←←←← # # ←←←← 在这块代码的上方先定义你要推的多个地址 ←←←←
# rtmp_targets = [ # rtmp_targets = [
@@ -1732,50 +1732,50 @@ def start_record(url_data: tuple, count_variable: int = -1) -> None:
"Referer: https://live.douyin.com/\r\n" "Referer: https://live.douyin.com/\r\n"
"Origin: https://live.douyin.com\r\n" "Origin: https://live.douyin.com\r\n"
) )
ffmpeg_command = [ # ffmpeg_command = [
"ffmpeg", "-loglevel", "info", # "ffmpeg", "-loglevel", "info",
"-rw_timeout", "15000000", # "-rw_timeout", "15000000",
"-reconnect", "1", "-reconnect_at_eof", "1", "-reconnect_streamed", "1", # "-reconnect", "1", "-reconnect_at_eof", "1", "-reconnect_streamed", "1",
"-reconnect_delay_max", "15", # "-reconnect_delay_max", "15",
"-fflags", "+genpts+discardcorrupt", # "-fflags", "+genpts+discardcorrupt",
"-err_detect", "ignore_err", # "-err_detect", "ignore_err",
"-thread_queue_size", "8192", # "-thread_queue_size", "8192",
"-headers", douyin_headers, # "-headers", douyin_headers,
"-i", real_url, # "-i", real_url,
"-vf", "scale=720:1280:force_original_aspect_ratio=decrease,pad=720:1280:(ow-iw)/2:(oh-ih)/2:black", # "-vf", "scale=720:1280:force_original_aspect_ratio=decrease,pad=720:1280:(ow-iw)/2:(oh-ih)/2:black",
"-c:v", codec_v, "-preset", preset_v, *tune_param, # "-c:v", codec_v, "-preset", preset_v, *tune_param,
"-b:v", "2500k", "-maxrate", "2500k", "-bufsize", "5000k", # "-b:v", "2500k", "-maxrate", "2500k", "-bufsize", "5000k",
"-g", "50", "-r", "25", "-pix_fmt", "yuv420p", # "-g", "50", "-r", "25", "-pix_fmt", "yuv420p",
"-c:a", "aac", "-b:a", "128k", "-ar", "44100", "-ac", "2", # "-c:a", "aac", "-b:a", "128k", "-ar", "44100", "-ac", "2",
"-af", "aresample=async=1:first_pts=0", # "-af", "aresample=async=1:first_pts=0",
"-flags", "+global_header", # "-flags", "+global_header",
"-f", "flv", youtube_rtmp # "-f", "flv", youtube_rtmp
# "-f", "tee", # # "-f", "tee",
# "-map", "0:v", "-map", "0:a", # # "-map", "0:v", "-map", "0:a",
# tee_outputs # # tee_outputs
] # ]
# srs内网配置 # srs内网配置
# ffmpeg_command = [ ffmpeg_command = [
# "ffmpeg", "ffmpeg",
# "-loglevel", "info", "-loglevel", "info",
# "-err_detect", "ignore_err+explode", "-err_detect", "ignore_err+explode",
# "-fflags", "+genpts+discardcorrupt+igndts", "-fflags", "+genpts+discardcorrupt+igndts",
# "-reconnect", "1", "-reconnect", "1",
# "-reconnect_at_eof", "1", "-reconnect_at_eof", "1",
# "-reconnect_streamed", "1", "-reconnect_streamed", "1",
# "-reconnect_delay_max", "7", "-reconnect_delay_max", "7",
# "-rw_timeout", "30000000", "-rw_timeout", "30000000",
# "-headers", douyin_headers, "-headers", douyin_headers,
# # ===== 输入源 ===== # ===== 输入源 =====
# "-i", real_url, "-i", real_url,
# "-c:v", "copy", "-c:v", "copy",
# "-c:a", "copy", "-c:a", "copy",
# "-max_muxing_queue_size", "9999", "-max_muxing_queue_size", "9999",
# "-f", "flv", srs_rtmp "-f", "flv", srs_rtmp
# ] ]
# ---- 单层重试循环(清晰可控) ---- # ---- 单层重试循环(清晰可控) ----
proc = None proc = None