Python实现FLV视频拼接
文章摘要 本文简单说明了FLV文件的格式,以此为出发点,使用 Python 实现 FLV视频 的 拼接 。 一.FLV文件格式 关于FLV文件格式的解析网上有诸多文章,在这里就简单介绍一下需要了解的部分,以便读者更好地明白各段代码的功能。 FLV文件是由文件头(Header)和文件体(Body)按顺序拼接而成。审查FLV内容时,以二进制方式读取内容。 Header:文件头表明了文件的封装格式为FLV,存储对象为音频、视频或两者。 以下为FLV文件的Header,共 9 个字节: b'FLV\x01\x05\x00\x00\x00\t' 前 3 个字节(FLV)说明这是一个FLV文件 第 4 个字节(\x01)为版本号,固定为 1 第 5 个字节(\x05)表明存储对象,需将其转化成二进制(00000101)查看,左、右边的 1 分别表示文件含有音频和视频 后 4 个字节(\x00\x00\x00\t)表示文件头的长度,其值固定为 9 Body:文件体由若干个 Tag 组成,除了第一个,每个 Tag 是由头部( 11 字节)、主体(不定长)和尾部( 4 字节)组成。第一个 Tag 只有尾部。 Tag 又分为 3 类,脚本(scripts)、音频(audio)和视频(video)。通常第 2 个 Tag 为脚本类型,且只有一个,后续的都是音视频类型。 以下为脚本 Tag 的部分