Summary: | Не работает OpenTimelineIO в KdenLive | ||
---|---|---|---|
Product: | New/proposed packages | Reporter: | Semenov <e.semyonov> |
Component: | Обычный репозиторий | Assignee: | Andrey Cherepanov <cas> |
Status: | CLOSED FIXED | QA Contact: | Andrey Cherepanov <cas> |
Severity: | major | ||
Priority: | P1 | CC: | cas, kaa, viy, zerg |
Version: | не указана | ||
Hardware: | x86_64 | ||
OS: | Linux |
Description
Semenov
2022-03-12 15:27:15 MSK
Фактически это не Bug. KdenLive обладает инструментами для установки дополнений средствами пакетного менеджера pip. Возможно пакет pip не установлен в системе. Для установки pip необходимо исполнить команду: `sudo sh -c "apt-get update && apt-get install pip -y"`. После Kdenlive сможет устанавливать модули самостоятельно. Kdenlive запускает установку модулей из под пользователя, и складывает модули "$HOME/.local/bin/" это считается правильным, но это путь по умолчанию не попадает в переменную $PATH. Поэтому можно запустить приложение из консоли добавив необходимый путь: `PATH=$PATH:$HOME/.local/bin/ kdenlive ` Для удобства можно создать ярлык и заменить секцию Exec=… на Exec=sh -c "PATH=$PATH:$HOME/.local/bin/ kde5 kdenlive %F" Так же можно использовать пакетный менеджер flatpack, версия Kdenlive собрана со всеми дополнениями. Использование пакетного менеджера flatpack разобрано здесь: https://youtu.be/Fwe_-2FlGqY?t=294 opentimelineio по хорошему надо упаковать. P.S. В идеале нужно представлять, что устанавливаем систему с диска при отсутствии интернет. Более подробное рассмотрение вопроса навело на мысль. Возможно, поскольку по умолчанию kdenlive запускается через kde5, лучше будет добавить путь для локальных модулей pip($HOME/.local/bin) в утилиту kde5 пакета kf5-filesystem. Так: --- a/kde5 +++ b/kde5 @@ -4,7 +4,7 @@ if [ "$KDE_SESSION_VERSION" != "5" ] ; then OLD_PATH=$PATH - PATH=`echo "$PATH" | sed "s|$HOME/bin|$HOME/bin:/usr/lib/kf5/bin|"` + PATH=`echo "$PATH" | sed "s|$HOME/bin|$HOME/bin:$HOME/.local/bin:/usr/lib/kf5/bin|"` [ "$PATH" != "$OLD_PATH" ] || PATH="/usr/lib/kf5/bin:$PATH" export PATH Или же действительно добавить пакет OpenTimeLineIO, но это будет не универсальным методом и все что будет ставиться автоматизированными средствами kdenlive работать не будет. (Ответ для Aleksei Kalinin на комментарий #3) > лучше будет добавить путь для > локальных модулей pip($HOME/.local/bin Лучше не городить костылей. Есть ~/bin/ (In reply to Sergey V Turchin from comment #4) > (Ответ для Aleksei Kalinin на комментарий #3) > > лучше будет добавить путь для > > локальных модулей pip($HOME/.local/bin > Лучше не городить костылей. Есть ~/bin/ Да, увидел коментарий comment #2. Понял. С вашего позволения займусь подготовкой пакет. (Ответ для Aleksei Kalinin на комментарий #5) > С вашего позволения займусь подготовкой пакет. Да, я только за. Автоматическую зависимость на него я пока замочил. Как только появится в p10, сразу сделаю. (Ответ для Aleksei Kalinin на комментарий #5) Здравствуйте! Я так понял, вы всё-таки хотите подготовить пакет OpenTimelineIO? Как узнать, когда он будет готов? (Ответ для Semenov на комментарий #7) > Как узнать, когда он будет готов? Заходить периодически на страницу: https://packages.altlinux.org/ru/search/?branch=sisyphus&q=OpenTimelineIO (In reply to Semenov from comment #7) > (Ответ для Aleksei Kalinin на комментарий #5) > > Здравствуйте! Я так понял, вы всё-таки хотите подготовить пакет > OpenTimelineIO? Доброго дня! На данный момент пакет предварительно собран и проходит согласование по возможности добавления его в репозиторий. Вы можете попробовать текущий вариант сборки в качестве тестирования. Для этого можете временно добавить репозиторий по номеру задачи: # apt-repo add 322896 И установить пакет: # apt-get install python3-module-OpenTimelineIO Обратите внимание, что пропитанный функционал от Adobe, такие как RV и Maya работать не будет. Его нужно устанавливать отдельно. Инструкции по установке: https://help.autodesk.com/view/SGSUB/ENU/?guid=SG_RV_rv_manuals_html https://help.autodesk.com/view/MAYAUL/2024/ENU/?guid=GUID-D64ACA64-2566-42B3-BE0F-BCE843A1702F (Ответ для Aleksei Kalinin на комментарий #9) При попытке совершить экспорт OpenTimelineIO выходит сообщение: Сбой преобразования проекта OpenTimelineIO Traceback (most recent call last): File "/usr/bin/otioconvert", line 9, in <module> sys.exit(main()) File "/home/semenov/.local/lib/python3/site-packages/opentimelineio/console/otioconvert.py", line 278, in main otio.adapters.write_to_file( File "/home/semenov/.local/lib/python3/site-packages/opentimelineio/adapters/__init__.py", line 192, in write_to_file return adapter.write_to_file( File "/home/semenov/.local/lib/python3/site-packages/opentimelineio/adapters/adapter.py", line 198, in write_to_file result = self._execute_function( File "/home/semenov/.local/lib/python3/site-packages/opentimelineio/plugins/python_plugin.py", line 153, in _execute_function return (getattr(self.module(), func_name)(**kwargs)) File "/home/semenov/.local/lib/python3/site-packages/opentimelineio_contrib/adapters/advanced_authoring_format.py", line 1618, in write_to_file otio2aaf = aaf_writer.AAFFileTranscriber(timeline, f, **kwargs) File "/home/semenov/.local/lib/python3/site-packages/opentimelineio_contrib/adapters/aaf_adapter/aaf_writer.py", line 88, in __init__ self._clip_mob_ids_map = _gather_clip_mob_ids(input_otio, **kwargs) File "/home/semenov/.local/lib/python3/site-packages/opentimelineio_contrib/adapters/aaf_adapter/aaf_writer.py", line 239, in _gather_clip_mob_ids raise AAFAdapterError("Cannot find mob ID for clip {}".format(otio_clip)) opentimelineio_contrib.adapters.aaf_adapter.aaf_writer.AAFAdapterError: Cannot find mob ID for clip Clip("", ExternalReference("Видео/Копия linux.m4v"), TimeRange(RationalTime(0, 25), RationalTime(6250, 25)), {}) Мне трудно понять что здесь написано. Скажите пожалуйста, это у меня в компьютере что-то нужно налаживать, или нужно какое-то исправление в пакете? (Ответ для Aleksei Kalinin на комментарий #9) > (In reply to Semenov from comment #7) > > (Ответ для Aleksei Kalinin на комментарий #5) > > > > Здравствуйте! Я так понял, вы всё-таки хотите подготовить пакет > > OpenTimelineIO? > > Доброго дня! > > На данный момент пакет предварительно собран и проходит согласование по > возможности добавления его в репозиторий. > Вы можете попробовать текущий вариант сборки в качестве тестирования. Для > этого можете временно добавить репозиторий по номеру задачи: > > # apt-repo add 322896 > > И установить пакет: > > # apt-get install python3-module-OpenTimelineIO > > Обратите внимание, что пропитанный функционал от Adobe, такие как RV и Maya > работать не будет. Его нужно устанавливать отдельно. > > Инструкции по установке: > https://help.autodesk.com/view/SGSUB/ENU/?guid=SG_RV_rv_manuals_html > > https://help.autodesk.com/view/MAYAUL/2024/ENU/?guid=GUID-D64ACA64-2566-42B3- > BE0F-BCE843A1702F Проще: apt-repo test 322896 Это временно добавит источник, обновит индексы, установит из задания все пакеты (кроме -devel и -debuginfo) и удалит источник. (In reply to Semenov from comment #10) > (Ответ для Aleksei Kalinin на комментарий #9) > > При попытке совершить экспорт OpenTimelineIO выходит сообщение: > > Сбой преобразования проекта OpenTimelineIO > > Traceback (most recent call last): > File "/usr/bin/otioconvert", line 9, in <module> > sys.exit(main()) > File > "/home/semenov/.local/lib/python3/site-packages/opentimelineio/console/ > otioconvert.py", line 278, in main > otio.adapters.write_to_file( > File > "/home/semenov/.local/lib/python3/site-packages/opentimelineio/adapters/ > __init__.py", line 192, in write_to_file > return adapter.write_to_file( > File > "/home/semenov/.local/lib/python3/site-packages/opentimelineio/adapters/ > adapter.py", line 198, in write_to_file > result = self._execute_function( > File > "/home/semenov/.local/lib/python3/site-packages/opentimelineio/plugins/ > python_plugin.py", line 153, in _execute_function > return (getattr(self.module(), func_name)(**kwargs)) > File > "/home/semenov/.local/lib/python3/site-packages/opentimelineio_contrib/ > adapters/advanced_authoring_format.py", line 1618, in write_to_file > otio2aaf = aaf_writer.AAFFileTranscriber(timeline, f, **kwargs) > File > "/home/semenov/.local/lib/python3/site-packages/opentimelineio_contrib/ > adapters/aaf_adapter/aaf_writer.py", line 88, in __init__ > self._clip_mob_ids_map = _gather_clip_mob_ids(input_otio, **kwargs) > File > "/home/semenov/.local/lib/python3/site-packages/opentimelineio_contrib/ > adapters/aaf_adapter/aaf_writer.py", line 239, in _gather_clip_mob_ids > raise AAFAdapterError("Cannot find mob ID for clip {}".format(otio_clip)) > opentimelineio_contrib.adapters.aaf_adapter.aaf_writer.AAFAdapterError: > Cannot find mob ID for clip Clip("", ExternalReference("Видео/Копия > linux.m4v"), TimeRange(RationalTime(0, 25), RationalTime(6250, 25)), {}) > > Мне трудно понять что здесь написано. Скажите пожалуйста, это у меня в > компьютере что-то нужно налаживать, или нужно какое-то исправление в пакете? Пока видно что у Вас скрипты берутся из домашней дирректории. До установки пакета желательно удалить OpentimelineIO установленный средствами pip $ pip uninstall OpentimelineIO (In reply to Andrey Cherepanov from comment #11) > > Проще: apt-repo test 322896 > Это временно добавит источник, обновит индексы, установит из задания все > пакеты (кроме -devel и -debuginfo) и удалит источник. Доброго дня Андрей! Согласен, удалить источник после тестирования стоит. Но в данном случае в задаче слишком много пакетов которые необходимы только для сборка, и их нет нужды устанавливать. А для работы из задачи необходимы только: python3-module-pyaaf2 python3-module-OpenTimelineIO (Ответ для Aleksei Kalinin на комментарий #12) > Пока видно что у Вас скрипты берутся из домашней дирректории. До установки > пакета желательно удалить OpentimelineIO установленный средствами pip > > $ pip uninstall OpentimelineIO Сделал, и переустановил, но ошибка повторяется с идентичным текстом. Удалил с помощью команды: $ pip uninstall OpentimelineIO После дополнительно из Sinaptic удалил пакет OpentimelineIO (который почему-то там остался). На всякий случай сделал: # apt-get update # apt-get clean Снова повторил указанную вами процедуру установки из временного репозитория, и всё повторяется. Что я мог cделать не так? Что я мог упустить или пропустить? Евгений, спасибо за комментарии! Судя по описанию со страницы руководства модуля, формат aaf, которым Вы пользовались, всё еще находится в разработке и ручаться за его полноценную работоспособность нет возможности. https://opentimelineio.readthedocs.io/en/latest/tutorials/adapters.html Модуль OpenTimelineIO обещает работу с форматами в режимах импорта-экспорта: OTIO import adapters: "*.aaf *.ale *.edl *.fcpxml *.kdenlive *.m3u8 *.ma *.mb *.otio *.otiod *.otioz *.xges *.xml " OTIO export adapters: "*.aaf *.ale *.edl *.fcpxml *.kdenlive *.m3u8 *.ma *.mb *.otio *.otiod *.otioz *.rv *.svg *.xges *.xml " Как уже писал, некоторые проприетарные, а некоторые работают в зависимости от состава проекта. На данный момент в режиме экспорта проверена работа форматов: .ale .otio .otiod .otioz .svg .xges .xml Стоит отметить некоторую особенность интерфейса kdenlive, которая выглядит крайне не очевидной. Для экспорта в необходимый формат, необходимо снять галочку “Автоматически выбирать формат .aaf” и в названии проекта указать расширение из доступного списка. По расширению модуль понимает какой адаптер использовать для экспорта. Что примечательно, в русской локали, в отличии от en_US.UTF-8, в поле “Фильтр” доступные форматы не отображаются. @e.semyonov Пакет собран. На данный момент OpenTimelineIO находится в sisyphus. https://packages.altlinux.org/en/sisyphus/srpms/python3-module-OpenTimelineIO/ Тестируйте, считаю задача выполнена. Если буду замечания пишите. |