Large video files (over 2.14gb) fail with error "Unsupported media type"
I've been running some video tests and hitting the same 'unsupported media type' error for a variety of files - and eventually concluded:
- the media type (QuickTime/MPEG4) is supported, other than ProRes
- file sizes larger than somewhere between 2.14 GB and 2.43 GB fail with the same error message
The traceback is below the table.
| File | Format | File size | Processing time | Outcome |
|---|---|---|---|---|
| 134 min video | H264 low bitrate | 3.21 GB | Unsupported media type | |
| 134 min video | H264 mid bitrate | 4.96 GB | Unsupported media type | |
| 134 min video | H264 high bitrate | 10.39 GB | Unsupported media type | |
| 134 min video | MPEG4/3GP | 321.9mb | 1m 58s 758ms | passed |
| 39 min video | H264 720p | 2.43 GB | Unsupported media type | |
| 34 min video | H264 mid bitrate | 2.6 GB | Unsupported media type | |
| 34 min video | H264 low bitrate | 1.26 GB | passed | |
| 34 min video | H264 720p | 2.14 GB | 9m 7s 623ms | passed |
| 15 min video | H264 low bitrate | 359.4mb | 2m 22s 226ms | passed |
| 15 min video | H264 mid bitrate | 554.6mb | 3m 0s 107ms | passed |
| 15 min video | H264 high bitrate | 1.16gb | 5m 0s 478ms | passed |
| 15 min video | MPEG4/3GP | 36mb | 12s 211ms | passed |
| 15 min video | ProRes | 9.13 GB | Unsupported media type | |
| 15 min video | QuickTime DV Pal | 3.41 GB | Unsupported media type | |
| 15 min video | QuickTime DV NTSC | 3.41 GB | Unsupported media type | |
| 7 min video | QuickTime DV Pal | 1.68 GB | 5m 2s 226ms | passed |
| 7 min video | QuickTime DV NTSC | 1.68 GB | 5m 9s 243ms | passed |
| 7 min video | H264 high bitrate | 571.8 mb | 2m 31s 938ms | passed |
| 7 min video | ProRes | 4.39 GB | Unsupported media type | |
| 1 min video | ProRes | 596 MB | Unsupported media type |
Traceback
File "/Users/me/.pyenv/versions/3.8.10/bin/iscc", line 8, in <module>
sys.exit(cli())
File "/Users/me/.pyenv/versions/3.8.10/lib/python3.8/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/Users/me/.pyenv/versions/3.8.10/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/Users/me/.pyenv/versions/3.8.10/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/Users/me/.pyenv/versions/3.8.10/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/me/.pyenv/versions/3.8.10/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/Users/me/.pyenv/versions/3.8.10/lib/python3.8/site-packages/iscc_cli/commands/gen.py", line 49, in gen
title = get_title(tika_result, guess=guess, uri=file.name)
File "/Users/me/.pyenv/versions/3.8.10/lib/python3.8/site-packages/iscc_cli/utils.py", line 92, in get_title
mime_type = clean_mime(meta.get("Content-Type"))
AttributeError: 'NoneType' object has no attribute 'get'
Thank you for the detailed report. This seems to be an issue with the content-type detection, which is currently done with Apache Tika. This will change with the next release of the ISCC, including some significant performance improvements specifically for video code generation. However, if you can give me access to one of the failing videos, I am happy to take a closer look at what might be going wrong.
Thanks - that sounds good. I've uploaded one here: https://wormhole.app/77v5p#bzZaicsczRJ_7rCvb-Dirg (the link expires in 24h, let me know if it needs re-uploading).