<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>42109</bug_id>
          
          <creation_ts>2022-03-12 15:27:15 +0300</creation_ts>
          <short_desc>Не работает OpenTimelineIO в KdenLive</short_desc>
          <delta_ts>2023-10-04 12:29:40 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>New/proposed packages</product>
          <component>Обычный репозиторий</component>
          <version>не указана</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Semenov">e.semyonov</reporter>
          <assigned_to name="Andrey Cherepanov">cas</assigned_to>
          <cc>cas</cc>
    
    <cc>kaa</cc>
    
    <cc>viy</cc>
    
    <cc>zerg</cc>
          
          <qa_contact name="Andrey Cherepanov">cas</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>208429</commentid>
    <comment_count>0</comment_count>
    <who name="Semenov">e.semyonov</who>
    <bug_when>2022-03-12 15:27:15 +0300</bug_when>
    <thetext>При попытке экспорта проекта в OpenTimelineIO выходит сообщение: &quot;Не удалось найти сценарий «otioconvert».
Необходимо установить OpenTimelineIO,
через ваш менеджер пакетов, если он доступен,
или воспользоваться командой «pip3 install opentimelineio»
и проверить установлены ли сценарии в каталоге, указанном в переменной среде PATH&quot;
В менеджере пакетов &quot;Альт&quot; нет OpenTimelineIO. Команда &quot;pip3 install opentimelineio&quot; - не работает.
Чтобы его собрать в репозиторий, а так понимаю, есть ссыла: https://github.com/PixarAnimationStudios/OpenTimelineIO
Но я этого делать не умею, и прошу помочь эту опциональную функцию программы KdenLive поместить в дополнения к программе.
Это крайне важная функция, которая на самом деле является основной для профессионального видеомонтажа в кино и телевидении. Она обеспечивает экспорт документов о проекте, с помощью которого проект можно автоматизировано &quot;пересобрать&quot; в других программах и средах, для конечной обработки (цветокоррекции, переозвучания и прочих видов финальных сборок).
Когда эта функция появится в KdenLive, можно будет констатировать, что в среде &quot;Альт&quot; есть программа полностью закрывающая вопросы профессиональной сборки видеоматериалов.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224244</commentid>
    <comment_count>1</comment_count>
    <who name="Aleksei Kalinin">kaa</who>
    <bug_when>2023-04-10 18:19:18 +0300</bug_when>
    <thetext>Фактически это не Bug. KdenLive обладает инструментами для установки дополнений средствами пакетного менеджера pip.
Возможно пакет pip не установлен в системе. Для установки pip необходимо исполнить команду:
`sudo sh -c &quot;apt-get update &amp;&amp; apt-get install pip -y&quot;`.
После Kdenlive сможет устанавливать модули самостоятельно. Kdenlive запускает установку модулей из под пользователя, и складывает модули &quot;$HOME/.local/bin/&quot; это считается правильным, но это путь по умолчанию не попадает в переменную $PATH.

Поэтому можно запустить приложение из консоли добавив необходимый путь:
`PATH=$PATH:$HOME/.local/bin/ kdenlive `
Для удобства можно создать ярлык и заменить секцию Exec=… на Exec=sh -c &quot;PATH=$PATH:$HOME/.local/bin/ kde5 kdenlive %F&quot;

Так же можно использовать пакетный менеджер flatpack, версия Kdenlive собрана со всеми дополнениями. Использование пакетного менеджера flatpack разобрано здесь: https://youtu.be/Fwe_-2FlGqY?t=294</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224617</commentid>
    <comment_count>2</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-04-17 18:16:26 +0300</bug_when>
    <thetext>opentimelineio по хорошему надо упаковать.

P.S.
В идеале нужно представлять, что устанавливаем систему с диска при отсутствии интернет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224619</commentid>
    <comment_count>3</comment_count>
    <who name="Aleksei Kalinin">kaa</who>
    <bug_when>2023-04-17 18:18:24 +0300</bug_when>
    <thetext>Более подробное рассмотрение вопроса навело на мысль. Возможно, поскольку по умолчанию kdenlive запускается через kde5, лучше будет добавить путь для локальных модулей pip($HOME/.local/bin) в утилиту kde5 пакета kf5-filesystem.
Так:
--- a/kde5
+++ b/kde5
@@ -4,7 +4,7 @@
 if [ &quot;$KDE_SESSION_VERSION&quot; != &quot;5&quot; ] ; then

     OLD_PATH=$PATH
-    PATH=`echo &quot;$PATH&quot; | sed &quot;s|$HOME/bin|$HOME/bin:/usr/lib/kf5/bin|&quot;`
+    PATH=`echo &quot;$PATH&quot; | sed &quot;s|$HOME/bin|$HOME/bin:$HOME/.local/bin:/usr/lib/kf5/bin|&quot;`
     [ &quot;$PATH&quot; != &quot;$OLD_PATH&quot; ] || PATH=&quot;/usr/lib/kf5/bin:$PATH&quot;
     export PATH 

Или же действительно добавить пакет OpenTimeLineIO, но это будет не универсальным методом и все что будет ставиться автоматизированными средствами kdenlive  работать не будет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224620</commentid>
    <comment_count>4</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-04-17 18:23:03 +0300</bug_when>
    <thetext>(Ответ для Aleksei Kalinin на комментарий #3)
&gt; лучше будет добавить путь для
&gt; локальных модулей pip($HOME/.local/bin
Лучше не городить костылей. Есть ~/bin/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224621</commentid>
    <comment_count>5</comment_count>
    <who name="Aleksei Kalinin">kaa</who>
    <bug_when>2023-04-17 18:36:18 +0300</bug_when>
    <thetext>(In reply to Sergey V Turchin from comment #4)
&gt; (Ответ для Aleksei Kalinin на комментарий #3)
&gt; &gt; лучше будет добавить путь для
&gt; &gt; локальных модулей pip($HOME/.local/bin
&gt; Лучше не городить костылей. Есть ~/bin/

Да, увидел коментарий comment #2. Понял. С вашего позволения займусь подготовкой пакет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224662</commentid>
    <comment_count>6</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-04-18 14:46:57 +0300</bug_when>
    <thetext>(Ответ для Aleksei Kalinin на комментарий #5)
&gt; С вашего позволения займусь подготовкой пакет.
Да, я только за.
Автоматическую зависимость на него я пока замочил. Как только появится в p10, сразу сделаю.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227429</commentid>
    <comment_count>7</comment_count>
    <who name="Semenov">e.semyonov</who>
    <bug_when>2023-06-12 04:31:28 +0300</bug_when>
    <thetext>(Ответ для Aleksei Kalinin на комментарий #5)

Здравствуйте! Я так понял, вы всё-таки хотите подготовить пакет OpenTimelineIO? Как узнать, когда он будет готов?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227513</commentid>
    <comment_count>8</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-06-13 17:36:48 +0300</bug_when>
    <thetext>(Ответ для Semenov на комментарий #7)
&gt; Как узнать, когда он будет готов?
Заходить периодически на страницу:
https://packages.altlinux.org/ru/search/?branch=sisyphus&amp;q=OpenTimelineIO</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227515</commentid>
    <comment_count>9</comment_count>
    <who name="Aleksei Kalinin">kaa</who>
    <bug_when>2023-06-13 17:42:44 +0300</bug_when>
    <thetext>(In reply to Semenov from comment #7)
&gt; (Ответ для Aleksei Kalinin на комментарий #5)
&gt; 
&gt; Здравствуйте! Я так понял, вы всё-таки хотите подготовить пакет
&gt; 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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227555</commentid>
    <comment_count>10</comment_count>
    <who name="Semenov">e.semyonov</who>
    <bug_when>2023-06-13 22:48:38 +0300</bug_when>
    <thetext>(Ответ для Aleksei Kalinin на комментарий #9)

При попытке совершить экспорт OpenTimelineIO выходит сообщение:

Сбой преобразования проекта OpenTimelineIO

Traceback (most recent call last):
  File &quot;/usr/bin/otioconvert&quot;, line 9, in &lt;module&gt;
    sys.exit(main())
  File &quot;/home/semenov/.local/lib/python3/site-packages/opentimelineio/console/otioconvert.py&quot;, line 278, in main
    otio.adapters.write_to_file(
  File &quot;/home/semenov/.local/lib/python3/site-packages/opentimelineio/adapters/__init__.py&quot;, line 192, in write_to_file
    return adapter.write_to_file(
  File &quot;/home/semenov/.local/lib/python3/site-packages/opentimelineio/adapters/adapter.py&quot;, line 198, in write_to_file
    result = self._execute_function(
  File &quot;/home/semenov/.local/lib/python3/site-packages/opentimelineio/plugins/python_plugin.py&quot;, line 153, in _execute_function
    return (getattr(self.module(), func_name)(**kwargs))
  File &quot;/home/semenov/.local/lib/python3/site-packages/opentimelineio_contrib/adapters/advanced_authoring_format.py&quot;, line 1618, in write_to_file
    otio2aaf = aaf_writer.AAFFileTranscriber(timeline, f, **kwargs)
  File &quot;/home/semenov/.local/lib/python3/site-packages/opentimelineio_contrib/adapters/aaf_adapter/aaf_writer.py&quot;, line 88, in __init__
    self._clip_mob_ids_map = _gather_clip_mob_ids(input_otio, **kwargs)
  File &quot;/home/semenov/.local/lib/python3/site-packages/opentimelineio_contrib/adapters/aaf_adapter/aaf_writer.py&quot;, line 239, in _gather_clip_mob_ids
    raise AAFAdapterError(&quot;Cannot find mob ID for clip {}&quot;.format(otio_clip))
opentimelineio_contrib.adapters.aaf_adapter.aaf_writer.AAFAdapterError: Cannot find mob ID for clip Clip(&quot;&quot;, ExternalReference(&quot;Видео/Копия linux.m4v&quot;), TimeRange(RationalTime(0, 25), RationalTime(6250, 25)), {})

Мне трудно понять что здесь написано. Скажите пожалуйста, это у меня в компьютере что-то нужно налаживать, или нужно какое-то исправление в пакете?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227580</commentid>
    <comment_count>11</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2023-06-14 11:06:17 +0300</bug_when>
    <thetext>(Ответ для Aleksei Kalinin на комментарий #9)
&gt; (In reply to Semenov from comment #7)
&gt; &gt; (Ответ для Aleksei Kalinin на комментарий #5)
&gt; &gt; 
&gt; &gt; Здравствуйте! Я так понял, вы всё-таки хотите подготовить пакет
&gt; &gt; OpenTimelineIO?
&gt; 
&gt; Доброго дня!
&gt; 
&gt; На данный момент пакет предварительно собран и проходит согласование по
&gt; возможности добавления его в репозиторий.
&gt; Вы можете попробовать текущий вариант сборки в качестве тестирования. Для
&gt; этого можете временно добавить репозиторий по номеру задачи:
&gt; 
&gt; # apt-repo add 322896
&gt; 
&gt; И установить пакет:
&gt; 
&gt; # apt-get install python3-module-OpenTimelineIO
&gt; 
&gt; Обратите внимание, что пропитанный функционал от Adobe, такие как RV и Maya
&gt; работать не будет. Его нужно устанавливать отдельно.
&gt; 
&gt; Инструкции по установке:
&gt; https://help.autodesk.com/view/SGSUB/ENU/?guid=SG_RV_rv_manuals_html 
&gt; 
&gt; https://help.autodesk.com/view/MAYAUL/2024/ENU/?guid=GUID-D64ACA64-2566-42B3-
&gt; BE0F-BCE843A1702F

Проще: apt-repo test 322896
Это временно добавит источник, обновит индексы, установит из задания все пакеты (кроме -devel и -debuginfo) и удалит источник.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227649</commentid>
    <comment_count>12</comment_count>
    <who name="Aleksei Kalinin">kaa</who>
    <bug_when>2023-06-14 20:48:17 +0300</bug_when>
    <thetext>(In reply to Semenov from comment #10)
&gt; (Ответ для Aleksei Kalinin на комментарий #9)
&gt; 
&gt; При попытке совершить экспорт OpenTimelineIO выходит сообщение:
&gt; 
&gt; Сбой преобразования проекта OpenTimelineIO
&gt; 
&gt; Traceback (most recent call last):
&gt;   File &quot;/usr/bin/otioconvert&quot;, line 9, in &lt;module&gt;
&gt;     sys.exit(main())
&gt;   File
&gt; &quot;/home/semenov/.local/lib/python3/site-packages/opentimelineio/console/
&gt; otioconvert.py&quot;, line 278, in main
&gt;     otio.adapters.write_to_file(
&gt;   File
&gt; &quot;/home/semenov/.local/lib/python3/site-packages/opentimelineio/adapters/
&gt; __init__.py&quot;, line 192, in write_to_file
&gt;     return adapter.write_to_file(
&gt;   File
&gt; &quot;/home/semenov/.local/lib/python3/site-packages/opentimelineio/adapters/
&gt; adapter.py&quot;, line 198, in write_to_file
&gt;     result = self._execute_function(
&gt;   File
&gt; &quot;/home/semenov/.local/lib/python3/site-packages/opentimelineio/plugins/
&gt; python_plugin.py&quot;, line 153, in _execute_function
&gt;     return (getattr(self.module(), func_name)(**kwargs))
&gt;   File
&gt; &quot;/home/semenov/.local/lib/python3/site-packages/opentimelineio_contrib/
&gt; adapters/advanced_authoring_format.py&quot;, line 1618, in write_to_file
&gt;     otio2aaf = aaf_writer.AAFFileTranscriber(timeline, f, **kwargs)
&gt;   File
&gt; &quot;/home/semenov/.local/lib/python3/site-packages/opentimelineio_contrib/
&gt; adapters/aaf_adapter/aaf_writer.py&quot;, line 88, in __init__
&gt;     self._clip_mob_ids_map = _gather_clip_mob_ids(input_otio, **kwargs)
&gt;   File
&gt; &quot;/home/semenov/.local/lib/python3/site-packages/opentimelineio_contrib/
&gt; adapters/aaf_adapter/aaf_writer.py&quot;, line 239, in _gather_clip_mob_ids
&gt;     raise AAFAdapterError(&quot;Cannot find mob ID for clip {}&quot;.format(otio_clip))
&gt; opentimelineio_contrib.adapters.aaf_adapter.aaf_writer.AAFAdapterError:
&gt; Cannot find mob ID for clip Clip(&quot;&quot;, ExternalReference(&quot;Видео/Копия
&gt; linux.m4v&quot;), TimeRange(RationalTime(0, 25), RationalTime(6250, 25)), {})
&gt; 
&gt; Мне трудно понять что здесь написано. Скажите пожалуйста, это у меня в
&gt; компьютере что-то нужно налаживать, или нужно какое-то исправление в пакете?

Пока видно что у Вас скрипты берутся из домашней дирректории. До установки пакета желательно удалить OpentimelineIO установленный средствами pip

$ pip uninstall OpentimelineIO</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227650</commentid>
    <comment_count>13</comment_count>
    <who name="Aleksei Kalinin">kaa</who>
    <bug_when>2023-06-14 20:52:57 +0300</bug_when>
    <thetext>(In reply to Andrey Cherepanov from comment #11)
&gt; 
&gt; Проще: apt-repo test 322896
&gt; Это временно добавит источник, обновит индексы, установит из задания все
&gt; пакеты (кроме -devel и -debuginfo) и удалит источник.

Доброго дня Андрей!

Согласен, удалить источник после тестирования стоит. Но в данном случае в задаче  слишком много пакетов которые необходимы только для сборка, и их нет нужды устанавливать. А для работы из задачи необходимы только:
	python3-module-pyaaf2 	python3-module-OpenTimelineIO</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227651</commentid>
    <comment_count>14</comment_count>
    <who name="Semenov">e.semyonov</who>
    <bug_when>2023-06-14 21:24:21 +0300</bug_when>
    <thetext>(Ответ для Aleksei Kalinin на комментарий #12)

&gt; Пока видно что у Вас скрипты берутся из домашней дирректории. До установки
&gt; пакета желательно удалить OpentimelineIO установленный средствами pip
&gt; 
&gt; $ pip uninstall OpentimelineIO

Сделал, и переустановил, но ошибка повторяется с идентичным текстом.
Удалил с помощью команды: $ pip uninstall OpentimelineIO
После дополнительно из Sinaptic удалил пакет OpentimelineIO (который почему-то там остался).
На всякий случай сделал:
# apt-get update
# apt-get clean
Снова повторил указанную вами процедуру установки из временного репозитория, и всё повторяется. Что я мог cделать не так? Что я мог упустить или пропустить?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227851</commentid>
    <comment_count>15</comment_count>
    <who name="Aleksei Kalinin">kaa</who>
    <bug_when>2023-06-16 17:28:57 +0300</bug_when>
    <thetext>Евгений, спасибо за комментарии!
Судя по описанию со страницы руководства модуля, формат aaf, которым Вы пользовались, всё еще находится в разработке и ручаться за его полноценную работоспособность нет возможности.
https://opentimelineio.readthedocs.io/en/latest/tutorials/adapters.html

Модуль OpenTimelineIO обещает работу с форматами в режимах импорта-экспорта:
OTIO import adapters: &quot;*.aaf *.ale *.edl *.fcpxml *.kdenlive *.m3u8 *.ma *.mb *.otio *.otiod *.otioz *.xges *.xml &quot; 
OTIO export adapters: &quot;*.aaf *.ale *.edl *.fcpxml *.kdenlive *.m3u8 *.ma *.mb *.otio *.otiod *.otioz *.rv *.svg *.xges *.xml &quot;

Как уже писал, некоторые проприетарные, а некоторые работают в зависимости от состава проекта. На данный момент в режиме экспорта проверена работа форматов: .ale .otio .otiod .otioz .svg .xges .xml

Стоит отметить некоторую особенность интерфейса kdenlive, которая выглядит крайне не очевидной.
Для экспорта в необходимый формат, необходимо снять галочку “Автоматически выбирать формат .aaf” и в названии проекта указать расширение из доступного списка. По расширению модуль понимает какой адаптер использовать для экспорта.
Что примечательно, в русской локали, в отличии от en_US.UTF-8,
 в поле “Фильтр” доступные форматы не отображаются.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234257</commentid>
    <comment_count>16</comment_count>
    <who name="Aleksei Kalinin">kaa</who>
    <bug_when>2023-10-03 16:45:38 +0300</bug_when>
    <thetext>@e.semyonov Пакет собран. На данный момент OpenTimelineIO находится в sisyphus.
https://packages.altlinux.org/en/sisyphus/srpms/python3-module-OpenTimelineIO/
Тестируйте, считаю задача выполнена. Если буду замечания пишите.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>