AcademySoftwareFoundation / AcademySoftwareFoundation/OpenTimelineIO

Kdenlive 22.12.0 export fails with `Cannot find mob ID for clip`

Open
#1,503 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
C++
Stars
2k
Forks
351
Avg merge
1d 12h
Merged PRs (30d)
1

Description

## Bug Report

### Incorrect Functionality and General Questions

Kdenlive OTIO export fails with `Cannot find mob ID for clip`.

## To Reproduce

1. Operating System: EndeavourOS, up to date
2. Python version: 3.10.8
4. OpenTimelineIO release version or commit hash
```
$ otioconvert --version
OpenTimelineIO version: 0.15.0
No pkg_resource plugins installed.
```
6. Compiler information:
binary installed, not compiled locally.
## Expected Behavior

In Kdenlive 22.12.0, choose the menu option "Export OpenTimelineIO...", provide a name for the new file, click save, and get a new file successfully created.

## Screenshots

n/a

## Logs

Here's the result:

```
Traceback (most recent call last):
File "/usr/bin/otioconvert", line 33, in
sys.exit(load_entry_point('OpenTimelineIO==0.15.0', 'console_scripts', 'otioconvert')())
File "/usr/lib/python3.10/site-packages/opentimelineio/console/otioconvert.py", line 278, in main
otio.adapters.write_to_file(
File "/usr/lib/python3.10/site-packages/opentimelineio/adapters/__init__.py", line 192, in write_to_file
return adapter.write_to_file(
File "/usr/lib/python3.10/site-packages/opentimelineio/adapters/adapter.py", line 198, in write_to_file
result = self._execute_function(
File "/usr/lib/python3.10/site-packages/opentimelineio/plugins/python_plugin.py", line 153, in _execute_function
return (getattr(self.module(), func_name)(**kwargs))
File "/usr/lib/python3.10/site-packages/opentimelineio_contrib/adapters/advanced_authoring_format.py", line 1618, in write_to_file
otio2aaf = aaf_writer.AAFFileTranscriber(timeline, f, **kwargs)
File "/usr/lib/python3.10/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 "/usr/lib/python3.10/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("cámara entrevistando a Pedro", ExternalReference("the cell phone/phone--VID_20220820_171818.mp4"), TimeRange(RationalTime(0, 29.97), RationalTime(868, 29.97)), {})
```

## Additional Context

The clip related to the error is the only clip in the timeline. There are no transitions nor effects, just a single clip cut into three parts with no spaces in between.

Contributor guide

Open the contributing guide

Research direction

Start in opentimelineio_contrib/adapters/aaf_adapter/aaf_writer.py, especially _gather_clip_mob_ids and the error at line 239, then trace the call from advanced_authoring_format.py. Reproduce the single-clip, three-part timeline with otioconvert and compare the gathered mob IDs with the clip references. Done means Kdenlive's OpenTimelineIO export creates the requested file without this error.

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
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.