2017-02-08 24 views
0

Я использую Moviepy для объединения нескольких более коротких видеофайлов в часовые файлы. Некоторые мелкие файлы «сломаны», они содержат видео, но не были выполнены правильно (т. Е. Они играют с VLC, но нет длительности, и вы не можете пропустить в видео).Moviepy не может прочитать продолжительность файла

Я заметил эту проблему, когда пытаюсь создать клип, используя функцию VideoFileClip (файл). Ошибка, которая приходит в:

MoviePy error: failed to read the duration of file

Есть ли способ, чтобы все-таки читать «хорошие» кадры из этого видео-файла, а затем добавить их в более видео?

UPDATE

Чтобы уточнить, мой вопрос конкретно является следующим вызовом функции:

clip = mp.VideoFileClip("/home/test/"+file)

Stepping через код, кажется, что проблема при проверке длительности файла в файле ffmpeg_reader.py, где он ищет параметр продолжительности в видеофайле. Однако, поскольку файл никогда не закончил запись должным образом, эта информация отсутствует. Я не очень хорошо разбираюсь в том, как структурированы видеофайлы, поэтому я не уверен, как исходить отсюда.

+0

Я обновил этот вопрос выше. Моя проблема заключается в том, что я действительно не знаю, как действовать, поскольку я не знаю, какова продолжительность видеофайла, и может быть от 1 секунды до 5 минут. Чтобы сделать любое редактирование видео с помощью Moviepy, должен быть создан объект VideoFileClip ... – Sebo

+0

Можете ли вы предоставить мне образец вашего видеофайла? Если нет, я могу попытаться ответить, как указано выше. – mbeacom

ответ

-1

clip1 = VideoFileClip ('путь')

с = clip1.duration

печать (с)

+0

Привет, добро пожаловать в StackOverflow. Пожалуйста, ознакомьтесь с FAQ (http://stackoverflow.com/help) о том, как работает этот сайт. Этот сайт не является дискуссионным форумом, это место для вопросов и ответов. Если вы хотите ответить кому-то другому, сделайте это как комментарий по его вопросу. Для комментариев требуется 50 рецензий, просмотрите FAQ о системе репутации. Если то, что вы хотите написать, не отвечает на вопрос, не публикуйте его в качестве ответа. – tburrows13

+0

Это не сработает, поскольку, как указано выше, проблема входит в функцию VideoFileClip. – Sebo

-1

Вы правы. Эта проблема возникает обычно, когда информация о длительности видео отсутствует в файле. Вот нить по этому вопросу: GitHub moviepy issue 116

Один из пользователей предложил решение с использованием MP4Box для преобразования видео с помощью этого руководства: RASPIVID tutorial

Окончательное решение, которое работало для меня участие указав путь к двоичному файлу ImageMagick в качестве WDBell упоминается в этом сообщении.

Я был путь правильно установить в моих переменных окружения, но это не было, пока я specificaly определил его в config_defaults.py, что он начал работать: Solution from GitHub discussion

+2

Ссылка на решение приветствуется, но, пожалуйста, убедитесь, что ваш ответ полезен без него: [добавить контекст вокруг ссылки] (// meta.stackexchange.com/a/8259), чтобы у ваших коллег было некоторое представление о том, что это такое и почему он там, затем укажите наиболее релевантную часть страницы, на которую вы ссылаетесь, в случае недоступности целевой страницы.[Ответы, которые немного больше, чем ссылка, могут быть удалены.] (// stackoverflow.com/help/deleted-answers) – LW001