Open hokaso opened 1 year ago
要是时间轴超出素材范围请写一个方法收集错误定位错误再print出来,直接出这种错误真的让人摸不着头脑……关键是我这根本没有超出,不知道你们这怎么计算的。
If the timeline exceeds the range of the material, please write a method to collect errors, positioning errors, and then print them out. It's really confusing to make such errors directly... The key is that I didn't exceed it at all, and I don't know how you calculated it.
File "/home/geektr/prod/gitruck-python/workspaces/short_video_generator/backend/services/otio/otio_services.py", line 718, in timeline_loader fcp_xml_str, fcpx_xml_str, otio_json_str = struct_builder( File "/home/geektr/prod/gitruck-python/workspaces/short_video_generator/backend/services/otio/otio_services.py", line 499, in struct_builder fcpx_xml_str = otio.adapters.write_to_string( File "/home/geektr/miniconda3/envs/gitruck_prod/lib/python3.10/site-packages/opentimelineio/adapters/__init__.py", line 213, in write_to_string return adapter.write_to_string( File "/home/geektr/miniconda3/envs/gitruck_prod/lib/python3.10/site-packages/opentimelineio/adapters/adapter.py", line 283, in write_to_string return self._execute_function( File "/home/geektr/miniconda3/envs/gitruck_prod/lib/python3.10/site-packages/opentimelineio/plugins/python_plugin.py", line 153, in _execute_function return (getattr(self.module(), func_name)(**kwargs)) File "/home/geektr/miniconda3/envs/gitruck_prod/lib/python3.10/site-packages/opentimelineio_contrib/adapters/fcpx_xml.py", line 1161, in write_to_string return FcpxOtio(input_otio).to_xml() File "/home/geektr/miniconda3/envs/gitruck_prod/lib/python3.10/site-packages/opentimelineio_contrib/adapters/fcpx_xml.py", line 172, in to_xml top_sequence = self._stack_to_sequence(project.tracks) File "/home/geektr/miniconda3/envs/gitruck_prod/lib/python3.10/site-packages/opentimelineio_contrib/adapters/fcpx_xml.py", line 248, in _stack_to_sequence self._track_for_spine(track, lane_id, spine, compound_clip) File "/home/geektr/miniconda3/envs/gitruck_prod/lib/python3.10/site-packages/opentimelineio_contrib/adapters/fcpx_xml.py", line 271, in _track_for_spine offset = self._offset_based_on_parent( File "/home/geektr/miniconda3/envs/gitruck_prod/lib/python3.10/site-packages/opentimelineio_contrib/adapters/fcpx_xml.py", line 309, in _offset_based_on_parent parent.get("offset"), AttributeError: 'NoneType' object has no attribute 'get'
The key problem is here: opentimelineio_contrib\ adapters\ fcpx_xml.py line 304, [if total_time > trimmed_range: return item] trimmed_range how to calculate and not tell the developer in the document, simple and rude to return a None, how do you let the program go down Execute? Shoot yourself in the foot.