auqhjjqdo/LiveRecorder

断开的流不会封装成mp4文件

Closed this issue · 2 comments

运行环境

版本号:2.33
运行平台:win11 专业工作站版
运行架构:
Python版本:3.9

配置文件

"platform": "Afreeca",
"id": "crystal85",
"name": "希可",
"interval": 60,
"format": "mp4",
"output": "I:/希可",
"proxy": null,
"headers": {
  "Referer": "https://www.afreecatv.com/"

复现步骤(可选)

...

错误描述

录制的时候断开的ts文件不会转成mp4,只有完整录制的流才会转成mp4

错误日志

[2024-02-24 18:24:54][WARNING][__main__][stream_writer:159][Afreeca][塔尼]直播录制超时,请检查主播是否正常开播或网络连接是否正常:[2024.02.24 17.43.07][Afreeca][塔尼]살스 모바일.ts
Error when reading from stream: Read timeout, exiting
[2024-02-24 18:24:54][INFO][__main__][run_record:143][Afreeca][塔尼]停止录制:[2024.02.24 17.43.07][Afreeca][塔尼]살스 모바일.ts
[2024-02-24 18:25:18][INFO][__main__][run_record:136][Afreeca][塔尼]开始录制:[2024.02.24 18.25.18][Afreeca][塔尼]오늘의상 ㅓㅜㅑ 🤍 움짤방셀 2825.ts
[2024-02-24 18:25:18][INFO][__main__][stream_writer:148][Afreeca][塔尼]获取到直播流链接:[2024.02.24 18.25.18][Afreeca][塔尼]오늘의상 ㅓㅜㅑ 🤍 움짤방셀 2825.ts
https://pc-web.stream.afreecatv.com/live-stmc-28/auth_playlist.m3u8?aid=.A32.7bbT56vyHM9fKZk.750RbvTSikVUMsGXxB_ZrGnnBqUM3LV7NUTpEfqyJKiBCtuu80Xu3Pa2GxYzwg-6t_uH-Ru8q05v4NirbbclHaR0Ll2do3itt6NbTiuf6OU
[2024-02-24 18:25:23][INFO][__main__][stream_writer:154][Afreeca][塔尼]正在录制:[2024.02.24 18.25.18][Afreeca][塔尼]오늘의상 ㅓㅜㅑ 🤍 움짤방셀 2825.ts
[2024-02-24 21:31:58][WARNING][__main__][stream_writer:159][Afreeca][塔尼]直播录制超时,请检查主播是否正常开播或网络连接是否正常:[2024.02.24 18.25.18][Afreeca][塔尼]오늘의상 ㅓㅜㅑ 🤍 움짤방셀 2825.ts
Error when reading from stream: Read timeout, exiting
[2024-02-24 21:31:58][INFO][__main__][run_record:143][Afreeca][塔尼]停止录制:[2024.02.24 18.25.18][Afreeca][塔尼]오늘의상 ㅓㅜㅑ 🤍 움짤방셀 2825.ts
[2024-02-24 21:32:22][INFO][__main__][run_record:136][Afreeca][塔尼]开始录制:[2024.02.24 21.32.22][Afreeca][塔尼]미니업.ts
[2024-02-24 21:32:22][INFO][__main__][stream_writer:148][Afreeca][塔尼]获取到直播流链接:[2024.02.24 21.32.22][Afreeca][塔尼]미니업.ts
https://pc-web.stream.afreecatv.com/live-stmc-24/auth_playlist.m3u8?aid=.A32.7bbT56vyHM9fKZk.750RbvTSikVUMsGXxB_ZrGnnBqUM3LV7NUTpEfqyJKiBCtuu80Xu3Pa2GxYzwg-6t_uH-Ru8q05v4NirbbclHaR0Ll2do3itt6NbTiuf6OU
[2024-02-24 21:32:27][INFO][__main__][stream_writer:154][Afreeca][塔尼]正在录制:[2024.02.24 21.32.22][Afreeca][塔尼]미니업.ts
[2024-02-24 21:36:53][WARNING][__main__][stream_writer:159][Afreeca][塔尼]直播录制超时,请检查主播是否正常开播或网络连接是否正常:[2024.02.24 21.32.22][Afreeca][塔尼]미니업.ts
Error when reading from stream: Read timeout, exiting
[2024-02-24 21:36:53][INFO][__main__][run_record:143][Afreeca][塔尼]停止录制:[2024.02.24 21.32.22][Afreeca][塔尼]미니업.ts
[2024-02-24 21:37:17][INFO][__main__][run_record:136][Afreeca][塔尼]开始录制:[2024.02.24 21.37.17][Afreeca][塔尼]미니업.ts
[2024-02-24 21:37:17][INFO][__main__][stream_writer:148][Afreeca][塔尼]获取到直播流链接:[2024.02.24 21.37.17][Afreeca][塔尼]미니업.ts
https://pc-web.stream.afreecatv.com/live-stmc-28/auth_playlist.m3u8?aid=.A32.7bbT56vyHM9fKZk.750RbvTSikVUMsGXxB_ZrGnnBqUM3LV7NUTpEfqyJKiBCtuu80Xu3Pa2GxYzwg-6t_uH-Ru8q05v4NirbbclHaR0Ll2do3itt6NbTiuf6OU
[2024-02-24 21:37:22][INFO][__main__][stream_writer:154][Afreeca][塔尼]正在录制:[2024.02.24 21.37.17][Afreeca][塔尼]미니업.ts
[2024-02-24 21:57:24][WARNING][__main__][stream_writer:159][Afreeca][塔尼]直播录制超时,请检查主播是否正常开播或网络连接是否正常:[2024.02.24 21.37.17][Afreeca][塔尼]미니업.ts
Error when reading from stream: Read timeout, exiting
[2024-02-24 21:57:24][INFO][__main__][run_record:143][Afreeca][塔尼]停止录制:[2024.02.24 21.37.17][Afreeca][塔尼]미니업.ts

错误截图(可选)

image

# 录制成功、format配置存在且不等于直播平台默认格式时运行ffmpeg封装
if result and self.format and self.format != format:
self.run_ffmpeg(filename, format)

程序对封装的判断逻辑就是必须要正常录制成功才会进行,因为直播流一般都是专为流媒体优化的mpegtsflv格式,这种格式更方便直播分段的拼接,如果直接封装成其他格式会破坏原有直播流的关键帧等信息,导致如果使用ffmpeg将多段文件concat拼接时可能出现报错,因此建议自行将分段文件拼接后再封装或转码成其他格式

好的,感谢答疑