2

В течение нескольких недель я пытался встроить несколько видео (созданных с помощью python-Matplotlib) в свою презентацию Latex/Beamer в соответствии с примерами, подобными этому, в которых используется пакет, называемый media9 . Компиляция документа не показывает ошибок, но все равно не работает.

В основном он использует проигрыватель Flash в PDF для воспроизведения, и поэтому видео, которое он воспроизводит, очень ограничено (с точки зрения поддерживаемых кодеков, расширений и т.д.). Если я буду следовать документации и конвертировать старое видео, которое у меня было, в правильные спецификации, то это будет работать. Тем не менее, я не могу заставить его работать на видео, которые я создаю в настоящее время, и я не могу сказать, что вызывает эту разницу.

Согласно документации:

Flash Player поддерживает эффективный кодек H.264 для сжатия видео. Видеофайлы MP4/H.264 могут быть закодированы из существующих видеофайлов и из пронумерованных битовых последовательностей с использованием инструментов командной строки ffmpeg (http://ffmpeg.org.) Или avconv (http://libav.org.). Чтобы обеспечить точный поиск в видеофайлах, необходимо кодировать их с достаточным количеством ключевых кадров. Командная строка для записи существующего видеофайла video.avi в video.mp4 читает

ffmpeg -i video.avi -vf scale="trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -profile:v high -pix_fmt yuv420p -g 30 -r 30 video.mp4

Вещи, которые я пробовал:

Я попытался создать видео из Matplotlib, используя ffmpeg с правильными характеристиками (-pix_fmt yuv420p -g 30 -r 30 , codec=libx264 и расширение .mp4 ). Это не сработало.

Во-вторых, я попытался создать видео с различными кодировками и расширениями, а затем использовал приведенную выше строку (приведенную автором пакета) для их преобразования. Но это также не работает.

На данный момент я понятия не имею, что еще делать. Насколько я знаю, я следую всем необходимым пунктам, изложенным в документах, но, видимо, это не так, и я не могу понять, чего не хватает.

Вот пример одного из моих старых видео, которые работают с ffmpeg -i (после использования команды выше):

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'convB_C250_txy0.mp4.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.83.100
  Duration: 00:00:20.83, start: 0.000000, bitrate: 11867 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1080x840, 11864 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler

А теперь пример видео, которое я недавно создал, прошло через ту же команду, но это не работает:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'convC1_old.mp4.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.83.100
  Duration: 00:00:04.13, start: 0.000000, bitrate: 226 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1080x840, 222 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler

Единственное отличие, которое я вижу в обоих, - это битрейт, который не должен иметь значения. Но даже в этом случае я не могу сравнить битрейт нового видео со старым.

Есть что-то, чего я здесь не хватает?

0