鱼C论坛

 找回密码
 立即注册
查看: 1017|回复: 2

[已解决]爬虫m3u8文件合并为mp4文件

[复制链接]
发表于 2024-12-10 14:30:17 | 显示全部楼层
看起来您的代码试图通过命令行将多个 `.ts` 文件合并成一个 `.mp4` 文件,但使用了 `copy/b` 命令。这个命令实际上只是在文件之间做一个简单的字节拼接,在某些情况下可能没法正确生成一个有效的 MP4 文件。

这里有几个可能的问题和建议:

1. **路径问题**:确保所有的 `.ts` 文件路径在 `video/` 文件夹内是正确的。

2. **命令问题**: `copy /b` 是 Windows 下的命令,运行该命令需要确保在 Windows 环境中执行,并且命令行的环境是正确的。

3. **合并方式不当**:简单拼接 `.ts` 文件可能无法生成有效的 `.mp4` 文件,尤其是在文件头部信息不一致的情况下。建议使用 FFmpeg 等专业工具来合并 `.ts` 文件。

4. **文件生成路径问题**:生成的 `movie.mp4` 文件会放在当前命令行的工作目录下,可以通过打印当前工作目录来检查:
  
  1. import os
  2.    print(os.getcwd())
复制代码


建议使用 FFmpeg 合并:
  1. import os

  2. def merge_ts():
  3.     with open("哲仁王后", mode="r", encoding="utf-8") as f:
  4.         with open("file_list.txt", "w") as file_list:
  5.             for line in f:
  6.                 if line.startswith("#"):
  7.                     continue
  8.                 line = line.strip()
  9.                 file_list.write(f"file '{line}'\n")

  10.     os.system("ffmpeg -f concat -safe 0 -i file_list.txt -c copy movie.mp4")
  11.     print("搞定")

  12. merge_ts()
复制代码


**注意**:你需要安装并将 FFmpeg 添加到你的系统环境变量中,这样 `ffmpeg` 命令才能正常工作。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-19 04:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表