Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error "Encoding Output validation failed!! #60

Open
fbridger opened this issue Mar 22, 2024 · 1 comment
Open

Error "Encoding Output validation failed!! #60

fbridger opened this issue Mar 22, 2024 · 1 comment

Comments

@fbridger
Copy link

I am running the MultiCodecEncoding sample from the solution and changed the Output to use an Azure Storage Account.

All Encoding Jobs are failing with the error "Encoding Output validation failed!".

Some additional information:

  • The Encoding process seems to have created the corresponding video and audio files
  • The Storage Account has been configured to be publicly accessible

How can I get more/additional information about what this error means?

image

Response Body with error:

{
   "requestId":"33311c97-6e05-49f3-ac07-c5765f43e7b8",
   "status":"SUCCESS",
   "data":{
      "result":{
         "id":"0a704c6f-8e5b-152c-818e-663093696753",
         "createdAt":"2024-03-22T12:44:03Z",
         "queuedAt":"2024-03-22T12:44:13Z",
         "runningAt":"2024-03-22T12:44:18Z",
         "finishedAt":"2024-03-22T12:45:50Z",
         "errorAt":"2024-03-22T12:45:50Z",
         "eta":0.0,
         "progress":90,
         "status":"ERROR",
         "messages":[
            {
               "id":"0a700377-8e5b-15c7-818e-663236266778",
               "type":"ERROR",
               "date":"2024-03-22T12:45:50Z",
               "text":"Encoding has failed."
            },
            {
               "id":"0a7033b8-8e5b-149f-818e-6630d1626ae3",
               "type":"INFO",
               "date":"2024-03-22T12:44:18Z",
               "text":"Download of input file in progress."
            },
            {
               "id":"0a7033b8-8e5b-149f-818e-66315c296b05",
               "type":"INFO",
               "date":"2024-03-22T12:44:19Z",
               "text":"Analyzing input in progress."
            },
            {
               "id":"0a7033b8-8e5b-149f-818e-66315c296b04",
               "type":"INFO",
               "date":"2024-03-22T12:44:19Z",
               "text":"Download of input file finished"
            },
            {
               "id":"0a7033b8-8e5b-149f-818e-66315c296b02",
               "type":"INFO",
               "date":"2024-03-22T12:44:20Z",
               "text":"Encoding in progress."
            },
            {
               "id":"0a700377-8e5b-15c7-818e-6632355f6777",
               "type":"ERROR",
               "date":"2024-03-22T12:45:50Z",
               "text":"Encoding Output validation failed!"
            },
            {
               "id":"0a7033b8-8e5b-149f-818e-66315c296b03",
               "type":"INFO",
               "date":"2024-03-22T12:44:20Z",
               "text":"Analyzing input finished."
            }
         ],
         "subtasks":[
            {
               "id":"0a7033b8-8e5b-149f-818e-66315c296b09",
               "name":"Input file download",
               "runningAt":"2024-03-22T12:44:18Z",
               "updatedAt":"2024-03-22T12:44:19Z",
               "finishedAt":"2024-03-22T12:44:19Z",
               "progress":100,
               "status":"FINISHED",
               "metadata":[
                  {
                     "date":"2024-03-22T12:44:19Z",
                     "data":{
                        "size":64657027
                     }
                  }
               ]
            },
            {
               "id":"0a7033b8-8e5b-149f-818e-66315c296b07",
               "name":"Input file analysis",
               "runningAt":"2024-03-22T12:44:19Z",
               "updatedAt":"2024-03-22T12:44:20Z",
               "finishedAt":"2024-03-22T12:44:20Z",
               "progress":100,
               "status":"FINISHED"
            },
            {
               "id":"0a7033b8-8e5b-149f-818e-66315c296b06",
               "name":"Encoding",
               "runningAt":"2024-03-22T12:44:21Z",
               "updatedAt":"2024-03-22T12:45:49Z",
               "finishedAt":"2024-03-22T12:45:49Z",
               "progress":100,
               "status":"FINISHED",
               "metadata":[
                  {
                     "date":"2024-03-22T12:45:49Z",
                     "data":{
                        "bytesEncoded":970666116,
                        "avgFramesEncodedPerSecond":1154.0,
                        "framesEncoded":71575,
                        "realtimeFactor":9.620295698924732
                     }
                  }
               ]
            },
            {
               "id":"0a7033b8-8e5b-149f-818e-66315c296b08",
               "name":"Analysis",
               "runningAt":"2024-03-22T12:44:21Z",
               "updatedAt":"2024-03-22T12:45:49Z",
               "finishedAt":"2024-03-22T12:44:51Z",
               "progress":100,
               "status":"FINISHED"
            }
         ],
         "error":{
            "code":-1,
            "category":"UNDEFINED",
            "text":"Unable to determine if the error is retryable.",
            "retryHint":"UNDEFINED"
         }
      },
      "messages":[
         {
            "id":"f21386c7-9f32-40f1-9516-78406f6b9662",
            "date":"2024-03-22T12:45:55Z",
            "type":"INFO",
            "text":"Successfully retrieved status of Encoding with id ae542a44-d4d4-4f93-9148-8e38fbf269e1!"
         }
      ]
   }
}
@fbridger
Copy link
Author

After 3 weeks without getting support from Bitmovin, we found the problem with the dotnet SDK Example code.

The BuildAbsolutePath is wrongly using \ (backslash) when running on a Windows machine instead of using / (forward slash).

Wrong code
https://github.com/bitmovin/bitmovin-api-sdk-examples/blob/main/dotnet/Bitmovin.Api.Sdk.Examples/MultiCodecEncoding.cs#L1221C9-L1224C10

private string BuildAbsolutePath(string relativePath)
{
        return Path.Join(_configProvider.GetS3OutputBasePath(), $"{ClassName}-{DATE_STRING}", relativePath);
}

Fixed code

private string BuildAbsolutePath(string relativePath)
{
    var s3OutputBasePath = _configProvider.GetS3OutputBasePath();
    var absolutePath = Path.Join(s3OutputBasePath, $"{ClassName}-{DATE_STRING}", relativePath);
    absolutePath = absolutePath.Replace("\\", "/");
    return absolutePath;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant