吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1043|回复: 4
收起左侧

[经验求助] 如何批量检测文件夹内损坏的文件

[复制链接]
jack98 发表于 2023-9-23 08:46
100吾爱币
我有一个文件夹,里面三百多个视频,有部分下载时候不完全,所以无法播放。
光看后缀都是.mp4,那如何快速的挑出来损坏不能播放的?
希望有大佬能提供一款软件或者python代码解决这个问题。

如果是代码:
可以是在源文件夹内新建文件夹移动进去,让我手动再甄别一下。
也可以输出一个excel,我自己去对应看看。

最佳答案

查看完整内容

[md]要从文件夹遍历出损坏且无法播放的视频文件,可以在上面代码基础上进行循环遍历。以下是一个示例代码: ```python from moviepy.editor import VideoFileClip import os def is_video_valid(file_path): try: video = VideoFileClip(file_path) return True except Exception as e: return False folder_path = "path/to/your/folder" invalid_videos = [] for filenam ...

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

xxmdmst 发表于 2023-9-23 08:46

要从文件夹遍历出损坏且无法播放的视频文件,可以在上面代码基础上进行循环遍历。以下是一个示例代码:

from moviepy.editor import VideoFileClip
import os

def is_video_valid(file_path):
    try:
        video = VideoFileClip(file_path)
        return True
    except Exception as e:
        return False

folder_path = "path/to/your/folder"

invalid_videos = []

for filename in os.listdir(folder_path):
    if filename.endswith(".mp4"):
        file_path = os.path.join(folder_path, filename)
        if not is_video_valid(file_path):
            invalid_videos.append(filename)

print(f"Total invalid videos found: {len(invalid_videos)}")
print("Invalid videos:")
for video in invalid_videos:
    print(video)

上面的代码中,首先定义了一个is_video_valid()函数,它的作用是判断一个视频文件是否能够有效播放,同样是通过尝试创建VideoFileClip对象来判断。如果视频文件无效,则将其添加到invalid_videos列表中。

然后,使用os.listdir()函数遍历指定文件夹下的所有文件和目录。对于以".mp4"结尾的文件,构造完整的文件路径,并调用is_video_valid()函数判断其有效性。如果无效,则将文件名添加到invalid_videos列表中。

最后,输出无效视频的数量和列表。

请将"path/to/your/folder"替换为你的视频文件所在的文件夹路径。运行代码后,你可以得到无效且无法播放的视频文件名的列表。

xxmdmst 发表于 2023-9-23 09:26

要判断一个mp4视频文件是否能够有效播放,可以使用Python的moviepy库。这个库主要用于视频编辑和处理,可以用来测试视频文件是否能够正常读取和播放。

首先,确保已经安装了moviepy库。可以使用以下命令安装:

pip install moviepy

接下来,使用如下的Python代码来判断一个mp4视频文件是否能够有效播放:

from moviepy.editor import VideoFileClip

def is_video_valid(file_path):
    try:
        video = VideoFileClip(file_path)
        return True
    except Exception as e:
        print(f"Invalid video file: {str(e)}")
        return False

file_path = "path/to/your/video.mp4"

if is_video_valid(file_path):
    print("Video is valid and can be played.")
else:
    print("Video is not valid or cannot be played.")

在上面的代码中,is_video_valid()函数将会尝试使用VideoFileClip类读取视频文件。如果视频文件能够被成功读取,就表示该视频文件是有效的并能够播放。如果有异常抛出,则说明视频文件无效或无法播放,并会输出错误信息。

注意,这个方法仅判断视频文件是否能够被读取并创建VideoFileClip对象,但并不能保证视频文件的内容是否有效或者完整。如果需要对视频文件的内容进行更详细的检查,请参考其他的工具或方法。

TXT2BIN 发表于 2023-9-23 09:28
用ffmpeg试试
https://blog.csdn.net/weixin_43601062/article/details/113273883

免费评分

参与人数 1吾爱币 +3 热心值 +1 收起 理由
jack98 + 3 + 1 热心回复!

查看全部评分

xxmdmst 发表于 2023-9-23 09:33
也可以直接在cmd中使用FFmpeg来进行批处理检查。打开cmd,进入存放视频文件的文件夹目录,然后执行以下命令:

for %i in (*.mp4) do ffmpeg -v error -i "%i" -f null - >nul 2>&1 || echo %i

这个命令会遍历当前目录下所有的".mp4"文件,并使用FFmpeg进行处理。如果文件有效,命令将不会输出任何内容。如果文件无效,命令将输出文件名。
返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-5-19 10:08

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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