acgnhiki / blrec

Bilibili Live Streaming Recorder 哔哩哔哩直播录制
GNU General Public License v3.0
583 stars 40 forks source link

建议将非连续的M4S文件分开放,而不是输出到单个文件中 #240

Open obsession9 opened 9 months ago

obsession9 commented 9 months ago

一直以来用potplayer播放一些自动转出来的MP4文件,发现在某些章节处画面会卡住,但是声音一直都在正常的走。

通过ffmpeg提取出音频轨发现其时长要比视频显示的时长要长的多。

通过研究发现ffmpeg在读取m4s文件的时候,会报重复的moov atom的警告,并提示跳过。 估计这个元数据影响到了最终的转换结果。

由于目前没有发现有相关的ffmpeg参数能正确的处理多个moov atom,所以建议将非连续的m4s文件分part存储,而不是输出到同一个m4s文件中。然后合并的时候用concat协议拼接并转换为mp4。

Genteure commented 9 months ago

你可以读同时输出的 .m3u8 文件

obsession9 commented 9 months ago

你可以读同时输出的 .m3u8 文件

.m3u8只是一个索引文件,ffmpeg依旧会去读m4s文件,依旧会报重复的moov atom的警告。

Genteure commented 9 months ago

这样的吗? m3u8 里面多个 init segment 分别属于不同的 media segment,我觉得应该会正常处理的?