Transcoding / Video Errors for the past week

Description of issue:

Recently our CloudBuild’s just started stalling out – a build would end up running for 2.5 hrs before it was ultimately cancelled automatically by Unity’s backend.

It seems like something is wrong with the video transcoding in the builds, despite the fact that we’ve got the videos marked to not be transcoded.

A few high level points about our project:

  • It’s very video intensive, and we just added more content. The “size” reported by the last successful build was 4.5GB, and we recently added more content when it started failing.
  • We have our cloud build set to a specific Unity version, and that did not change when the builds were succeeding to where they are failing now.
  • There are several errors on videos in the logs for the builds that are failing after 2.5 hours. Errors are showing on videos that have existed on the project since the successful builds, and have not been changed.
  • Local builds in both Windows and macOS continue to be successful.
  • A clean build did not fix the issue.

Unity version: 2019.1.2f1

Source control: Git

Local build platform: macOS / Windows

Build target: macOS / Windows

Project name: bastion (organization: zapdot)

Build log (relevant chunk):

Errors in the log are as follows, note that there are three error messages about the same video in a row:

17484: [Unity] done. [Time: 321.718504 ms]
17485: [Unity] Error ‘The operation could not be completed’ while reading /BUILD_PATH/zapdot-inc.bastion.textmesh_update-mac/Unity/Assets/Game/Video/Courtroom/court_036_v.mp4
17486: [Unity] Error details:
17487: [Unity] Error Domain=AVFoundationErrorDomain Code=-11800 “The operation could not be completed” UserInfo={NSLocalizedFailureReason=An unknown error occurred (35), NSLocalizedDescription=The operation could not be completed, NSUnderlyingError=0x7fe526bb0ee0 {Error Domain=NSPOSIXErrorDomain Code=35 “Resource temporarily unavailable”}}
17488: [Unity] Codec: avc1
17489: [Unity] Format:
17490: [Unity] {
17491: [Unity] CVFieldCount = 1;
17492: [Unity] CVImageBufferChromaLocationBottomField = Left;
17493: [Unity] CVImageBufferChromaLocationTopField = Left;
17494: [Unity] Depth = 24;
17495: [Unity] FormatName = “‘avc1’”;
17496: [Unity] FullRangeVideo = 0;
17497: [Unity] RevisionLevel = 0;
17498: [Unity] SampleDescriptionExtensionAtoms = {
17499: [Unity] avcC = <01640015 ffe10018 67640015 acd94180 96840000 03000400 00030078 3c58b658 01000668 ebe3cb22 c0>;
17500: [Unity] };
17501: [Unity] SpatialQuality = 0;
17502: [Unity] TemporalQuality = 0;
17503: [Unity] VerbatimISOSampleEntry = <00000087 61766331 00000000 00000001 00000000 00000000 00000000 00000000 01800120 00480000 00480000 00000000 00010000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000018 ffff0000 00316176 63430164 0015ffe1 00186764 0015acd9 41809684 00000300 04000003 00783c58 b6580100 0668ebe3 cb22c0>;
17504: [Unity] Version = 0;
17505: [Unity] }
17506: [Unity] Error ‘The operation could not be completed’ while reading /BUILD_PATH/zapdot-inc.bastion.textmesh_update-mac/Unity/Assets/Game/Video/Courtroom/court_036_v.mp4
17507: [Unity] Error details:
17508: [Unity] Error Domain=AVFoundationErrorDomain Code=-11800 “The operation could not be completed” UserInfo={NSLocalizedFailureReason=An unknown error occurred (35), NSLocalizedDescription=The operation could not be completed, NSUnderlyingError=0x7fe526ad6bc0 {Error Domain=NSPOSIXErrorDomain Code=35 “Resource temporarily unavailable”}}
17509: [Unity] Codec: avc1
17510: [Unity] Format:
17511: [Unity] {
17512: [Unity] CVFieldCount = 1;
17513: [Unity] CVImageBufferChromaLocationBottomField = Left;
17514: [Unity] CVImageBufferChromaLocationTopField = Left;
17515: [Unity] Depth = 24;
17516: [Unity] FormatName = “‘avc1’”;
17517: [Unity] FullRangeVideo = 0;
17518: [Unity] RevisionLevel = 0;
17519: [Unity] SampleDescriptionExtensionAtoms = {
17520: [Unity] avcC = <01640015 ffe10018 67640015 acd94180 96840000 03000400 00030078 3c58b658 01000668 ebe3cb22 c0>;
17521: [Unity] };
17522: [Unity] SpatialQuality = 0;
17523: [Unity] TemporalQuality = 0;
17524: [Unity] VerbatimISOSampleEntry = <00000087 61766331 00000000 00000001 00000000 00000000 00000000 00000000 01800120 00480000 00480000 00000000 00010000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000018 ffff0000 00316176 63430164 0015ffe1 00186764 0015acd9 41809684 00000300 04000003 00783c58 b6580100 0668ebe3 cb22c0>;
17525: [Unity] Version = 0;
17526: [Unity] }
17527: [Unity] Error while reading movie: /BUILD_PATH/zapdot-inc.bastion.textmesh_update-mac/Unity/Assets/Game/Video/Courtroom/court_036_v.mp4
17528: [Unity] (Filename: ./Editor/Src/Video/VideoClipTranscode.cpp Line: 323)
17529: [Unity] VideoClip import error for Assets/Game/Video/Courtroom/court_036_v.mp4
17530: [Unity] (Filename: ./Modules/AssetPipelineEditor/Public/VideoClipImporter.cpp Line: 408)
17531: [Unity] done. [Time: 324.574132 ms]

Does it build locally from a fresh checkout? yes

Regarding the time that it started failing, in case that’s useful, the last successful build was: Jul 13, 2019 4:00:05 AM and then the next build, a few days later, started failing: Jul 16, 2019 4:00:04 AM

Bumping; this is still very much an issue for our team. (I’ve updated the original post with more details.)

Even if the video isn’t transcoded, it still has to be opened to see what it contains (resolution, pixel format, etc) in order to populate the VideoClip’s attributes. The error message indicates that we’re probably running out of memory while trying to process all those video files. Most likely this is happening in the Unity Editor so you should log this as a bug (via Help → Report a Bug in the Editor) to get this prioritized for investigation by the Video team.

Case 1172957 – For what it’s worth: I tried submitting our project as part of the bug several times and it failed every single time.

@victorw Has that been passed along to the video team?

Yes, I have flagged that ticket for investigation by the video team.

1 Like

Hi, I am having the same issue today with UCB. I am building an ios app using unity 2018. Theres around 50 small videos that need to be loaded, but some of them keep failing to import, and its different videos each time. The videos are around 500 kb each, so I would be surprised if its a memory issue, but if so, how would I get around this?
Cloud build is downloading these videos before build, and the build completes, but the video files that throw the error arent in the app :frowning:

[Unity] Error Domain=AVFoundationErrorDomain Code=-11800 “The operation could not be completed” UserInfo={NSLocalizedFailureReason=An unknown error occurred (35), NSLocalizedDescription=The operation could not be completed, NSUnderlyingError=0x1c7bdf4b0 {Error Domain=NSPOSIXErrorDomain Code=35 “Resource temporarily unavailable”}}

This issue has been resolved in 2020.2 and backported to 2019.3 and 2020.1 with an additional backport currently in progress for 2018.4.

We also received some additional information – this was due to a limitation of 50 mp4s in a project; if you converted everything to webm; the importer is different and should work fine. (If you can’t wait for the backport.)