You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MoviePy无法加载TS视频:读取文件时长失败问题排查

问题:MoviePy加载TS视频时无法读取时长的原因分析

场景与问题描述

在Windows 10的VirtualBox 7.1.3虚拟机中运行Ubuntu 24.04.1系统,使用Python 3.11.10搭配MoviePy 1.0.3加载TS视频文件时,执行如下测试代码:

from moviepy.editor import VideoFileClip
clip = VideoFileClip("testvideo.ts")

代码执行后报错,提示无法读取testvideo.ts的时长,但该视频可通过mplayer正常播放,且执行ffmpeg -i testvideo.ts命令能明确识别出视频时长为00:10:10.13。

可能的原因

  • MoviePy对TS封装的兼容性限制:MoviePy底层依赖ffmpeg,但它的VideoFileClip组件在解析部分非标准TS文件时,没有调用ffmpeg的完整解析逻辑。比如部分TS文件是分段打包格式,或带有特殊自定义元数据,MoviePy的默认解析流程无法处理这类情况。
  • ffmpeg版本兼容性问题:Ubuntu 24.04默认预装的ffmpeg版本,可能与MoviePy 1.0.3预期的版本存在差异。虽然直接用ffmpeg -i能识别时长,但MoviePy调用ffmpeg的参数、输出解析规则,可能对该版本的ffmpeg输出格式不兼容,导致无法提取时长。
  • 文件权限或路径异常:虚拟机内的文件权限设置可能导致MoviePy无法完整读取文件元数据;另外如果文件路径包含空格、非ASCII字符,MoviePy在处理路径时可能出现隐性异常,进而无法解析时长。
  • TS文件元数据位置特殊:部分TS文件的时长元数据并非存放在文件开头,而是在文件末尾或分段片段中。MoviePy的预读取逻辑仅检查文件开头的固定长度内容,因此无法获取到正确的时长信息。

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 09:08:15