AcademySoftwareFoundation / AcademySoftwareFoundation/OpenTimelineIO

Question: Is there anything I need to know when converting to fcpxml timelines

Open
#741 11 comments 0 reactions 0 assignees View on GitHub
stale
Dominant language
C++
Stars
2k
Forks
351
Avg merge
1d 12h
Merged PRs (30d)
1

Description

I can successfully convert a kedenlive timeline to OTIO format. However converting to fcpxml results in errors. I even tried converting the otio file into fcpxml and still get the same errors. The otio file and kdenlive files open up just fine in otioview. Ca anyone help with the issue I'm having. Below is the error.

Traceback (most recent call last):
File "/usr/local/bin/otioconvert", line 11, in
load_entry_point('OpenTimelineIO==0.13.0.dev1', 'console_scripts', 'otioconvert')()
File "/usr/local/lib/python3.7/dist-packages/opentimelineio/console/otioconvert.py", line 266, in main
**write_adapter_arg_map
File "/usr/local/lib/python3.7/dist-packages/opentimelineio/adapters/__init__.py", line 194, in write_to_file
**adapter_argument_map
File "/usr/local/lib/python3.7/dist-packages/opentimelineio/adapters/adapter.py", line 182, in write_to_file
result = self.write_to_string(input_otio, **adapter_argument_map)
File "/usr/local/lib/python3.7/dist-packages/opentimelineio/adapters/adapter.py", line 246, in write_to_string
**adapter_argument_map
File "/usr/local/lib/python3.7/dist-packages/opentimelineio/plugins/python_plugin.py", line 174, in _execute_function
return (getattr(self.module(), func_name)(**kwargs))
File "/usr/local/lib/python3.7/dist-packages/opentimelineio_contrib/adapters/fcpx_xml.py", line 1182, in write_to_string
return FcpxOtio(input_otio).to_xml()
File "/usr/local/lib/python3.7/dist-packages/opentimelineio_contrib/adapters/fcpx_xml.py", line 193, in to_xml
top_sequence = self._stack_to_sequence(project.tracks)
File "/usr/local/lib/python3.7/dist-packages/opentimelineio_contrib/adapters/fcpx_xml.py", line 265, in _stack_to_sequence
self._track_for_spine(track, idx, spine, compound_clip)
File "/usr/local/lib/python3.7/dist-packages/opentimelineio_contrib/adapters/fcpx_xml.py", line 290, in _track_for_spine
self._find_or_create_format_from(track).get("id")
File "/usr/local/lib/python3.7/dist-packages/opentimelineio_contrib/adapters/fcpx_xml.py", line 315, in _find_parent_element
self._frame_rate_from_element(item, format_id)
File "/usr/local/lib/python3.7/dist-packages/opentimelineio_contrib/adapters/fcpx_xml.py", line 368, in _frame_rate_from_element
total, rate = format_element.get("frameDuration").split("/")
ValueError: not enough values to unpack (expected 2, got 1)

Contributor guide

Open the contributing guide

Research direction

Start with opentimelineio_contrib/adapters/fcpx_xml.py, especially the conversion path through _stack_to_sequence and _frame_rate_from_element, and reproduce the otioconvert command using the reported OTIO or Kdenlive timeline. Done means the reported conversion no longer raises the shown ValueError, with the relevant behavior covered by an appropriate test.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.