ID 249550 - NukeStudio leaves invalid metadata on Odyssey 7Q footage

Follow

Problem summary
When using footage from the Odyssey 7Q in Nuke, a ‘Reel’ metadata tag is left on the file that contains invalid utf-8 data which causes errors, for example it prevents NukeStudio from creating a comp or transcoding the footage correctly.
This issue was caused by the Odyssey/Apollo Firmware and was resolved in a firmware update (version 2016.10.1641). Users that are affected by this should make sure to update their firmware and can manually clean up the file metadata on existing footage as described in the workaround below.

Customer reported version
Nuke 10.5v1

Customer reported platform
Windows 10

Steps to reproduce
  1. Import a file that was recorded on Odyssey 7Q into a NukeStudio project.

  2. Drop the file onto the timeline.

  3. Right-click > Effects > Create Comp. Result: A pop-up appears saying ‘Create Comp Error. An error occured during script export’ and the terminal shows the following error message:
     

ERROR 12:50:57.306:Hiero(11428): NukeShotExporter.taskStep
Traceback (most recent call last):
 File "C:\Program Files\Nuke10.5v1\pythonextensions\site-packages\hiero\exporters\FnNukeShotExporter.py", line 763, in taskStep
   return self._taskStep()
 File "C:\Program Files\Nuke10.5v1\pythonextensions\site-packages\hiero\exporters\FnNukeShotExporter.py", line 1076, in _taskStep
   script.writeToDisk(scriptFilename)
 File "C:\Program Files\Nuke10.5v1\pythonextensions\site-packages\hiero\core\nuke\Script.py", line 218, in writeToDisk
   fileContents = str(self)
 File "C:\Program Files\Nuke10.5v1\pythonextensions\site-packages\hiero\core\nuke\Script.py", line 188, in __repr__
   fileContents += asUnicode(self._nodeOutput)
 File "C:\Program Files\Nuke10.5v1\pythonextensions\site-packages\hiero\core\util\__init__.py", line 193, in asUnicode
   return str(value).decode('utf-8')
 File "C:\Program Files\Nuke10.5v1\lib\encodings\utf_8.py", line 16, in decode
   return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xef in position 254: invalid continuation byte


Workaround
  1. Save and close the NukeStudio project.

  2. Open the .hrox file in a text editor.

  3. Find and delete any invalid characters. To do this, look for lines that could look similar to this:

    <StringValue default="1" value="Odyssey  �z���:�|�¾��?�����O����������������.�����{۞��O�
    }���&lt;�7���������������׫Ǭc��z��K~�̋�ϻ�����ܽ�ߏ맯�㟃��G���֜����Zj}�=��j���x��]�ﷻ��#xdf96;��1�ϋ�9�^-����������o�:�^�^���6-���+��������ܜ���ǯ�o�����mk�ڪ{~����������?c����r�����^����μ����ۿ����&amp;K�?�����y7����r��_�߹b�U7f���nڞL����^�������5
    ��/���ɧ�������S�����ߜ�}&amp;ۿ���7��v�ߡ��.^��ۭO�o�#��w���>����������6y��;&amp;������[�^�ۃ�ߏ����뿺������ζd������oO��c�{�~O�o�a�����Ϋ��C-��O$�^����v�������������盫R" name="foundry.source.reelID"/>

    And change it so it only reads:

    <StringValue default="1" value="Odyssey" name="foundry.source.reelID"/>

  4. Reopen the project file. You should now be able to work with the footage without encountering errors.
     

Reproduced by support
NukeStudio 9.0v1, 9.0v8, 10.0v1, 10.0v5, 10.5v1 Windows 7 & RHEL 6

Expected behaviour
Nuke should be cleaning up these metadata strings and making sure they contain valid utf-8 data.

Actual behaviour
Invalid data is left in the metadata strings, causing errors when working with the footage.
 

    We're sorry to hear that

    Please tell us why