Python脚本:TS文件采集与多文件合并为MP4

版权申诉
5星 · 超过95%的资源 1 下载量 4 浏览量 更新于2024-09-08 收藏 2KB TXT 举报
该文本提供了一个Python脚本,用于采集网络上的TS(Transport Stream)视频文件,并将这些TS片段按照编号顺序合并成一个MP4文件。以下是详细的步骤和技术知识点: 1. **HTTP请求与文件下载**: 使用`requests`库发送HTTP GET请求,设置用户代理(User-Agent)以模仿常见的浏览器,以规避可能的反爬虫机制。循环111次,每次获取一个URL,其中包含编号递增的TS文件(如`***************视频请求url*****************0.ts`, `***************视频请求url*****************1.ts`, ...)。将响应内容写入本地的TS文件。 2. **目录操作与文件名处理**: 通过`os.listdir()`获取指定路径(`./视频/`)下的所有文件,然后遍历文件列表。在合并过程中,需要对文件名进行预处理,提取出数字部分(例如,从`file_001.ts`中提取出`001`),并将其转换为整数以便排序。 3. **文件排序**: 创建一个空列表`sort_num_list`,将处理过的数字添加到列表中,然后根据数字值进行排序。这一步确保了TS文件按照正确的顺序被处理。 4. **文件合并**: 遍历排序后的文件列表,对于每个文件检查其是否存在。如果存在,使用二进制模式打开文件,将读取的内容写入到目标MP4文件`AV.mp4`中,使用`'ab'`(追加模式)来逐个添加。如果某个文件不存在,则输出“失败”。 5. **主函数`run()`**: 定义主函数,调用`get_ts()`和`get_video()`两个子函数,从而触发整个文件采集和合并的过程。 这个脚本的核心技术点在于网络请求、文件系统操作、排序算法以及二进制文件操作。它展示了如何利用Python编程实现自动化地从多个TS文件中收集内容并将其合并为一个MP4文件,适用于需要批量处理这类视频数据的场景。同时,它也体现了Python在处理文件操作和网络爬虫任务中的灵活性和便利性。