Carga e indexación de los vídeosUpload and index your videos

Una vez cargado el vídeo, Video Indexer puede codificarlo (lo que se explica en este artículo).Once your video has been uploaded, Video Indexer (optionally) encodes the video (discussed in the article). Al crear una cuenta de Video Indexer, puede elegir una cuenta de evaluación gratuita (donde obtendrá un número determinado de minutos gratuitos de indexación) o una opción de pago (donde no está limitado por la cuota).When creating a Video Indexer account, you can choose a free trial account (where you get a certain number of free indexing minutes) or a paid option (where you are not limited by the quota). Con la versión de evaluación gratuita, Video Indexer proporciona hasta 600 horas de indexación gratuita a los usuarios de sitios web y hasta 2400 horas de indexación gratuita a los usuarios de API.With free trial, Video Indexer provides up to 600 minutes of free indexing to website users and up to 2400 minutes of free indexing to API users. Con la opción de pago, se crea una cuenta de Video Indexer que está conectada a su suscripción de Azure y a una cuenta de Azure Media Services.With paid option, you create a Video Indexer account that is connected to your Azure subscription and an Azure Media Services account. Se paga por minutos de indexación. Para más información, consulte Precios de Media Services.You pay for minutes indexed, for more information, see Media Services pricing.

Al cargar vídeos con Video Indexer API, tiene las siguientes opciones de carga:When uploading videos with Video Indexer API, you have the following upload options:

  • cargar el vídeo desde una dirección URL (opción preferida);upload your video from a URL (preferred),
  • enviar el archivo de vídeo como una matriz de bytes en el cuerpo de la solicitud.send the video file as a byte array in the request body,
  • Para usar el recurso de Azure Media Services existente, proporcione el identificador del recurso (solo se admite en cuentas de pago).Use existing Azure Media Services asset by providing the asset ID (supported in paid accounts only).

En el artículo se muestra cómo cargar e indexar los vídeos con estas opciones:The article shows how to upload and index your videos with these options:

Formatos de archivo admitidos para Video IndexerSupported file formats for Video Indexer

Consulte la sección Formatos de archivo/contenedor de entrada para una lista de los formatos de archivo que puede usar con Video Indexer.See the input container/file formats article for a list of file formats that you can use with Video Indexer.

Almacenamiento de archivos de vídeoVideo files storage

  • Con una cuenta de Video Indexer, se crea una cuenta de Video Indexer que está conectada a la suscripción de Azure y a una cuenta de Azure Media Services.With a paid Video Indexer account, you create a Video Indexer account that's connected to your Azure subscription and an Azure Media Services account. Obtenga información sobre cómo crear una cuenta de Video Indexer conectada a Azure.For more information, see Create a Video Indexer account connected to Azure.
  • Los archivos de vídeo se almacenan en Azure Storage mediante Azure Media Services.Video files are stored in Azure storage by Azure Media Services. No existe limitación de tiempo.There is no time limitation.
  • Siempre puede eliminar los archivos de audio y vídeo, así como los metadatos y la información extraída de ellos por Video Indexer.You can always delete your video and audio files as well as any metadata and insights extracted from them by Video Indexer. Una vez eliminado un archivo de Video Indexer, este, y sus metadatos e información se eliminan permanentemente de Video Indexer.Once you delete a file from Video Indexer, the file and its metadata and insights are permanently removed from Video Indexer. Sin embargo, si ha implementado su propia solución de copia de seguridad en Azure Storage, el archivo permanece en el almacenamiento de Azure.However, if you have implemented your own backup solution in Azure storage, the file remains in your Azure storage.
  • La persistencia de un vídeo es idéntico, independientemente de si la carga se realiza en el sitio web de Video Indexer o mediante la API de carga.The persistency of a video is identical, regardless if the upload is done form the Video Indexer website or using the Upload API.

Carga e indexación de un vídeo desde el sitio web de Video IndexerUpload and index a video using the Video Indexer website

Nota

El nombre del vídeo no debe superar los 80 caracteres.A name of the video must be no greater than 80 characters.

  1. Inicie sesión en el sitio web de Video Indexer.Sign in on the Video Indexer website.

  2. Para cargar un vídeo, presione el botón Upload (Cargar) o el vínculo.To upload a video, press the Upload button or link.

    Cargar

  3. Una vez cargado el vídeo, Video Indexer inicia la indexación y el análisis del vídeo.Once your video has been uploaded, Video Indexer starts indexing and analyzing the video.

    Progreso de la carga

  4. Cuando Video Indexer haya terminado el análisis, recibirá un correo electrónico con un vínculo a su vídeo y una breve descripción de lo que se ha encontrado en él.Once Video Indexer is done analyzing, you will get an email with a link to your video and a short description of what was found in your video. Por ejemplo: personas, temas u OCR.For example: people, topics, OCRs.

Carga e indexación con APIUpload and index with API

Use la API para Cargar vídeo para cargar e indexar los vídeos según una dirección URL.Use the Upload video API to upload and index your videos based on a URL. En el ejemplo de código siguiente incluye el código con comentarios que muestra cómo cargar la matriz de bytes.The code sample that follows includes the commented out code that shows how to upload the byte array.

Configuración y parámetrosConfigurations and params

En esta sección se describen algunos de los parámetros opcionales y cuándo es conveniente establecerlos.This section describes some of the optional parameters and when you would want to set them. Para obtener la información más actualizada sobre parámetros, consulte la API Upload video.For the most up to date params info, see the Upload video API.

externalIdexternalID

Este parámetro permite especificar un identificador que se asociará con el vídeo.This parameter enables you to specify an ID that will be associated with the video. El identificador puede aplicarse a la integración del sistema de "Administración de contenido de vídeo" (VCM) externa.The ID can be applied to external "Video Content Management" (VCM) system integration. Los vídeos del portal de Video Indexer se pueden buscar con el identificador externo especificado.The videos that are located in the Video Indexer portal can be searched using the specified external ID.

callbackUrlcallbackUrl

Una dirección URL que se usa para notificar al cliente (mediante una solicitud POST) los siguientes eventos:A URL that is used to notify the customer (using a POST request) about the following events:

  • Indexación de los cambios de estado:Indexing state change:
    • Propiedades:Properties:

      NombreName DescripciónDescription
      idid Identificador del vídeoThe video ID
      statestate El estado del vídeoThe video state
    • Ejemplo: https://test.com/notifyme?projectName=MyProject&id=1234abcd&state=ProcessedExample: https://test.com/notifyme?projectName=MyProject&id=1234abcd&state=Processed

  • Persona identificada en el vídeo:Person identified in video:
    • PropiedadesProperties

      NombreName DescripciónDescription
      idid Identificador del vídeoThe video ID
      faceIdfaceId El identificador de caras que aparece en el índice de vídeoThe face ID that appears in the video index
      knownPersonIdknownPersonId El identificador de persona que es único dentro de un modelo de caraThe person ID that is unique within a face model
      personNamepersonName El nombre de la personaThe name of the person
      • Ejemplo: https://test.com/notifyme?projectName=MyProject&id=1234abcd&faceid=12&knownPersonId=CCA84350-89B7-4262-861C-3CAC796542A5&personName=Inigo_MontoyaExample: https://test.com/notifyme?projectName=MyProject&id=1234abcd&faceid=12&knownPersonId=CCA84350-89B7-4262-861C-3CAC796542A5&personName=Inigo_Montoya
Otras consideracionesOther considerations
  • Video Indexer devuelve los parámetros existentes proporcionados en la dirección URL original.Video Indexer returns any existing parameters provided in the original URL.
  • La dirección URL proporcionada debe estar codificada.The provided URL must be encoded.

indexingPresetindexingPreset

Use este parámetro para definir el paquete de inteligencia artificial que le gustaría aplicar al archivo de audio o vídeo.Use this parameter to define the AI bundle you would like to apply on your audio or video file . Este parámetro se utiliza para configurar el proceso de indexación.This parameter is used to configure the indexing process. Puede especificar los siguientes valores:You can specify the following values:

  • AudioOnly: indexar y extraer información detallada solo con audio (y omitir el vídeo).AudioOnly – Index and extract insights using audio only (ignoring video).

  • VideoOnly: indexar y extraer información detallada solo con vídeo (y omitir el audio).VideoOnly - Index and extract insights using video only (ignoring audio).

  • Default: indexar y extraer información detallada con audio y vídeo.Default – Index and extract insights using both audio and video.

  • DefaultWithNoiseReduction: indexar y extraer información detallada de audio y vídeo, mientras se aplican algoritmos de reducción de ruido en la secuencia de audio.DefaultWithNoiseReduction – Index and extract insights from both audio and video, while applying noise reduction algorithms on audio stream.

    El valor DefaultWithNoiseReduction se asigna ahora al valor predeterminado (en desuso).The DefaultWithNoiseReduction value is now mapped to default preset (deprecated).

  • BasicAudio: indexar y extraer información detallada con solo audio (y omitir el vídeo), que incluya solo las características básicas de audio (transcripción, traducción, leyendas de salida de formato y subtítulos).BasicAudio - Index and extract insights using audio only (ignoring video), including only basic audio features (transcription, translation, format output captions and subtitles).

  • AdvancedAudio: indexar y extraer información detallada solo con audio (y omitir el vídeo), que incluya las características avanzadas de audio (detección de eventos de audio), además del análisis de audio estándar.AdvancedAudio - Index and extract insights using audio only (ignoring video), including advanced audio features (audio event detection) in addition to the standard audio analysis.

Nota

Video Indexer cubre hasta dos pistas de audio.Video Indexer covers up to two tracks of audio. Si hay más pistas de audio en el archivo, se tratarán como una pista.If there are more audio tracks in the file, they will be treated as one track.
Si desea indexar las pistas por separado, tendrá que extraer el archivo de audio correspondiente e indexarlo como AudioOnly.If you want to index the tracks separately, you will need to extract the relevant audio file and index it as AudioOnly.

El precio depende de la opción de indexación seleccionada.Price depends on the selected indexing option. Para más información, consulte Precios de Media Services.For more information refer to Media Services pricing.

prioritypriority

Video Indexer indexa los vídeos según su prioridad.Videos are indexed by Video Indexer according to their priority. Use el parámetro priority para especificar la prioridad del índice.Use the priority parameter to specify the index priority. Los siguientes valores son válidos: Low, Normal (valor predeterminado) y High.The following values are valid: Low, Normal (default), and High.

El parámetro priority solo se admite en cuentas de pago.Priority parameter is only supported for paid accounts.

streamingPresetstreamingPreset

Una vez cargado el vídeo, Video Indexer, codifica opcionalmente el vídeo.Once your video has been uploaded, Video Indexer, optionally encodes the video. Después, continúa con la indexación y el análisis del vídeo.Then, proceeds to indexing, and analyzing the video. Cuando Video Indexer ha terminado de analizar, recibirá una notificación con el identificador de vídeo.When Video Indexer is done analyzing, you will get a notification with the video ID.

Cuando se usa Upload Video o Re-Index Video API, uno de los parámetros opcionales es streamingPreset.When using the Upload video or Re-Index Video API, one of the optional parameters is streamingPreset. Si establece streamingPreset en Default, SingleBitrate o en AdaptiveBitrate, se desencadenará el proceso de codificación.If you set streamingPreset to Default, SingleBitrate, or AdaptiveBitrate, the encoding process is triggered. Una vez realizados los trabajos de indexación y codificación, el vídeo se publica para que también pueda transmitirlo.Once the indexing and encoding jobs are done, the video is published so you can also stream your video. El punto de conexión de streaming desde el que va a transmitir el vídeo debe estar en estado Running (En ejecución).The Streaming Endpoint from which you want to stream the video must be in the Running state.

En el caso de SingleBitrate, se aplicará el costo del codificador estándar según la salida.For SingleBitrate, standard encoder cost will apply per the output. Si el alto de vídeo es mayor o igual que 720, Video Indexer lo codifica como 1280 x 720.If the video height is greater or equal to 720, Video Indexer encodes it as 1280x720. De lo contrario, como 640 x 468.Otherwise, as 640x468. La configuración predeterminada es la codificación compatible con el contenido.The Default setting is content aware encoding.

Para ejecutar los trabajos de indexación y codificación, la cuenta de Azure Media Services conectada a la cuenta de Video Indexer requiere unidades reservadas.In order to run the indexing and encoding jobs, the Azure Media Services account connected to your Video Indexer account, requires Reserved Units. Para más información, consulte Escalado del procesamiento de elementos multimedia.For more information, see Scaling Media Processing. Como son trabajos de proceso intensivo, se recomienda encarecidamente el tipo de unidad S3.Since these are compute intensive jobs, S3 unit type is highly recommended. El número de unidades reservadas define el número máximo de trabajos que se pueden ejecutar en paralelo.The number of RUs defines the max number of jobs that can run in parallel. La recomendación de referencia son 10 unidades reservadas S3.The baseline recommendation is 10 S3 RUs.

Si solo desea indexar el vídeo pero no codificarlo, establezca streamingPreset en NoStreaming.If you only want to index your video but not encode it, set streamingPresetto NoStreaming.

videoUrlvideoUrl

Una dirección URL del archivo de audio y vídeo que se va a indexar.A URL of the video/audio file to be indexed. La dirección URL debe apuntar a un archivo multimedia (no se admiten páginas HTML).The URL must point at a media file (HTML pages are not supported). El archivo se puede proteger mediante un token de acceso que se proporciona como parte del URI y el punto de conexión que se aplica al archivo debe estar protegido con TLS 1.2 o una versión posterior.The file can be protected by an access token provided as part of the URI and the endpoint serving the file must be secured with TLS 1.2 or higher. La dirección URL debe estar codificada.The URL needs to be encoded.

Si el parámetro videoUrl no se especifica, Video Indexer espera que pase el archivo como contenido del cuerpo de varias partes o formulario.If the videoUrl is not specified, the Video Indexer expects you to pass the file as a multipart/form body content.

Código de ejemploCode sample

El siguiente fragmento de código de C# muestra el uso de todas las API de Video Indexer juntas.The following C# code snippet demonstrates the usage of all the Video Indexer APIs together.

Instrucciones para ejecutar el siguiente ejemplo de códigoInstructions for running the following code sample

Tras copiar este código en la plataforma de desarrollo, deberá proporcionar dos parámetros: la clave de autenticación de API Management y la dirección URL del vídeo.After copying this code into your development platform you will need to provide two parameters: API Management authentication key and video URL.

  • Clave de API: la clave de API es la clave de suscripción personal a API Management, que le permitirá obtener un token de acceso para realizar operaciones en la cuenta de Video Indexer.API key – API key is your personal API management subscription key, that will allow you to get an access token in order to perform operations on your Video Indexer account.

    Para obtener la clave de API, siga este flujo:To get your API key, go through this flow:

    • Vaya a https://api-portal.videoindexer.ai/.Navigate to https://api-portal.videoindexer.ai/
    • Inicio de sesiónLogin
    • Vaya a Products -> Authorization -> Authorization subscription (Productos > Autorización > Suscripción de autorización).Go to Products -> Authorization -> Authorization subscription
    • Copie el valor de Primary Key (Clave principal).Copy the Primary key
  • Dirección URL del vídeo: la dirección URL del archivo de audio o vídeo que se va a indexar.Video URL – A URL of the video/audio file to be indexed. La dirección URL debe apuntar a un archivo multimedia (no se admiten páginas HTML).The URL must point at a media file (HTML pages are not supported). El archivo se puede proteger mediante un token de acceso que se proporciona como parte del URI y el punto de conexión que se aplica al archivo debe estar protegido con TLS 1.2 o una versión posterior.The file can be protected by an access token provided as part of the URI and the endpoint serving the file must be secured with TLS 1.2 or higher. La dirección URL debe estar codificada.The URL needs to be encoded.

El resultado de la ejecución correcta del código de ejemplo incluirá una dirección URL del widget de información detallada y una dirección URL del widget del reproductor, que permitirán examinar la información detallada y el vídeo cargado, respectivamente.The result of successfully running the code sample will include an insight widget URL and a player widget URL that will allow you to examine the insights and video uploaded respectively.

public async Task Sample()
{
    var apiUrl = "https://api.videoindexer.ai";
    var apiKey = "..."; // replace with API key taken from https://aka.ms/viapi

    System.Net.ServicePointManager.SecurityProtocol =
        System.Net.ServicePointManager.SecurityProtocol | System.Net.SecurityProtocolType.Tls12;

    // create the http client
    var handler = new HttpClientHandler();
    handler.AllowAutoRedirect = false;
    var client = new HttpClient(handler);
    client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", apiKey);

    // obtain account information and access token
    string queryParams = CreateQueryString(
        new Dictionary<string, string>()
        {
            {"generateAccessTokens", "true"},
            {"allowEdit", "true"},
        });
    HttpResponseMessage result = await client.GetAsync($"{apiUrl}/auth/trial/Accounts?{queryParams}");
    var json = await result.Content.ReadAsStringAsync();
    var accounts = JsonConvert.DeserializeObject<AccountContractSlim[]>(json);
    
    // take the relevant account, here we simply take the first, 
    // you can also get the account via accounts.First(account => account.Id == <GUID>);
    var accountInfo = accounts.First();

    // we will use the access token from here on, no need for the apim key
    client.DefaultRequestHeaders.Remove("Ocp-Apim-Subscription-Key");

    // upload a video
    var content = new MultipartFormDataContent();
    Console.WriteLine("Uploading...");
    // get the video from URL
    var videoUrl = "VIDEO_URL"; // replace with the video URL

    // as an alternative to specifying video URL, you can upload a file.
    // remove the videoUrl parameter from the query params below and add the following lines:
    //FileStream video =File.OpenRead(Globals.VIDEOFILE_PATH);
    //byte[] buffer =new byte[video.Length];
    //video.Read(buffer, 0, buffer.Length);
    //content.Add(new ByteArrayContent(buffer));

    queryParams = CreateQueryString(
        new Dictionary<string, string>()
        {
            {"accessToken", accountInfo.AccessToken},
            {"name", "video_name"},
            {"description", "video_description"},
            {"privacy", "private"},
            {"partition", "partition"},
            {"videoUrl", videoUrl},
        });
    var uploadRequestResult = await client.PostAsync($"{apiUrl}/{accountInfo.Location}/Accounts/{accountInfo.Id}/Videos?{queryParams}", content);
    var uploadResult = await uploadRequestResult.Content.ReadAsStringAsync();

    // get the video ID from the upload result
    string videoId = JsonConvert.DeserializeObject<dynamic>(uploadResult)["id"];
    Console.WriteLine("Uploaded");
    Console.WriteLine("Video ID:");
    Console.WriteLine(videoId);

    // wait for the video index to finish
    while (true)
    {
        await Task.Delay(10000);

        queryParams = CreateQueryString(
            new Dictionary<string, string>()
            {
                {"accessToken", accountInfo.AccessToken},
                {"language", "English"},
            });

        var videoGetIndexRequestResult = await client.GetAsync($"{apiUrl}/{accountInfo.Location}/Accounts/{accountInfo.Id}/Videos/{videoId}/Index?{queryParams}");
        var videoGetIndexResult = await videoGetIndexRequestResult.Content.ReadAsStringAsync();

        string processingState = JsonConvert.DeserializeObject<dynamic>(videoGetIndexResult)["state"];

        Console.WriteLine("");
        Console.WriteLine("State:");
        Console.WriteLine(processingState);

        // job is finished
        if (processingState != "Uploaded" && processingState != "Processing")
        {
            Console.WriteLine("");
            Console.WriteLine("Full JSON:");
            Console.WriteLine(videoGetIndexResult);
            break;
        }
    }

    // search for the video
    queryParams = CreateQueryString(
        new Dictionary<string, string>()
        {
            {"accessToken", accountInfo.AccessToken},
            {"id", videoId},
        });

    var searchRequestResult = await client.GetAsync($"{apiUrl}/{accountInfo.Location}/Accounts/{accountInfo.Id}/Videos/Search?{queryParams}");
    var searchResult = await searchRequestResult.Content.ReadAsStringAsync();
    Console.WriteLine("");
    Console.WriteLine("Search:");
    Console.WriteLine(searchResult);

    // Generate video access token (used for get widget calls)
    client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", apiKey);
    var videoTokenRequestResult = await client.GetAsync($"{apiUrl}/auth/{accountInfo.Location}/Accounts/{accountInfo.Id}/Videos/{videoId}/AccessToken?allowEdit=true");
    var videoAccessToken = (await videoTokenRequestResult.Content.ReadAsStringAsync()).Replace("\"", "");
    client.DefaultRequestHeaders.Remove("Ocp-Apim-Subscription-Key");

    // get insights widget url
    queryParams = CreateQueryString(
        new Dictionary<string, string>()
        {
            {"accessToken", videoAccessToken},
            {"widgetType", "Keywords"},
            {"allowEdit", "true"},
        });
    var insightsWidgetRequestResult = await client.GetAsync($"{apiUrl}/{accountInfo.Location}/Accounts/{accountInfo.Id}/Videos/{videoId}/InsightsWidget?{queryParams}");
    var insightsWidgetLink = insightsWidgetRequestResult.Headers.Location;
    Console.WriteLine("Insights Widget url:");
    Console.WriteLine(insightsWidgetLink);

    // get player widget url
    queryParams = CreateQueryString(
        new Dictionary<string, string>()
        {
            {"accessToken", videoAccessToken},
        });
    var playerWidgetRequestResult = await client.GetAsync($"{apiUrl}/{accountInfo.Location}/Accounts/{accountInfo.Id}/Videos/{videoId}/PlayerWidget?{queryParams}");
    var playerWidgetLink = playerWidgetRequestResult.Headers.Location;
     Console.WriteLine("");
     Console.WriteLine("Player Widget url:");
     Console.WriteLine(playerWidgetLink);
     Console.WriteLine("\nPress Enter to exit...");
     String line = Console.ReadLine();
     if (line == "enter")
     {
         System.Environment.Exit(0);
     }

}

private string CreateQueryString(IDictionary<string, string> parameters)
{
    var queryParameters = HttpUtility.ParseQueryString(string.Empty);
    foreach (var parameter in parameters)
    {
        queryParameters[parameter.Key] = parameter.Value;
    }

    return queryParameters.ToString();
}

public class AccountContractSlim
{
    public Guid Id { get; set; }
    public string Name { get; set; }
    public string Location { get; set; }
    public string AccountType { get; set; }
    public string Url { get; set; }
    public string AccessToken { get; set; }
}

Errores comunesCommon errors

La operación Upload puede devolver los códigos de estado que aparecen en la siguiente tabla.The status codes listed in the following table may be returned by the Upload operation.

status codeStatus code ErrorType (en el cuerpo de la respuesta)ErrorType (in response body) DescripciónDescription
409409 VIDEO_INDEXING_IN_PROGRESSVIDEO_INDEXING_IN_PROGRESS El mismo vídeo ya se está procesando en la cuenta especificada.Same video is already in progress of being processed in the given account.
400400 VIDEO_ALREADY_FAILEDVIDEO_ALREADY_FAILED El mismo vídeo no se pudo procesar en la cuenta especificada hace menos de 2 horas.Same video failed to process in the given account less than 2 hours ago. Los clientes de API deberán esperar al menos 2 horas antes de volver a cargar un vídeo.API clients should wait at least 2 hours before re-uploading a video.
429429 Las cuentas de prueba tienen permitido realizar hasta 5 cargas por minuto.Trial accounts are allowed 5 uploads per minute. Las cuentas de prueba tienen permitido realizar hasta 50 cargas por minuto.Paid accounts are allowed 50 uploads per minute.

Consideraciones y limitaciones para la cargaUploading considerations and limitations

  • El nombre del vídeo no debe superar los 80 caracteres.A name of the video must be no greater than 80 characters.

  • Al cargar el vídeo según la dirección URL (opción preferida) el punto de conexión debe estar protegido con TLS 1.2 (o una versión posterior).When uploading your video based on the URL (preferred) the endpoint must be secured with TLS 1.2 (or higher).

  • El tamaño de carga con la opción de dirección URL se limita a 30 GB.The upload size with the URL option is limited to 30GB.

  • La longitud de la dirección URL de la solicitud está limitada a 6144 caracteres en los que la longitud de la dirección URL de la cadena de consulta está limitada a 4096 caracteres.The request URL length is limited to 6144 characters where the query string URL length is limited to 4096 characters .

  • El tamaño de carga con la opción de matriz de bytes se limita a 2 GB.The upload size with the byte array option is limited to 2GB.

  • La opción de matriz de bytes agota el tiempo de espera a los 30 minutos.The byte array option times out after 30 min.

  • La dirección URL que se proporciona en el parámetro videoURL debe estar codificada.The URL provided in the videoURL param needs to be encoded.

  • La indexación de los recursos de Media Services tiene la misma limitación que la indexación desde la dirección URL.Indexing Media Services assets has the same limitation as indexing from URL.

  • Video Indexer tiene una duración máxima de 4 horas por archivo.Video Indexer has a max duration limit of 4 hours for a single file.

  • Se debe poder acceder a la dirección URL (por ejemplo, una dirección URL pública).The URL needs to be accessible (for example a public URL).

    Si se trata de una dirección URL privada, es necesario especificar el token de acceso en la solicitud.If it is a private URL, the access token need to be provided in the request.

  • La dirección URL tiene que apuntar a un archivo multimedia válido, no a una página web, como un vínculo a la página www.youtube.com.The URL has to point to a valid media file and not to a webpage, such as a link to the www.youtube.com page.

  • En una cuenta de pago, puede cargar hasta 50 películas por minuto y en una cuenta de prueba hasta 5 películas por minuto.In a paid account you can upload up to 50 movies per minute, and in a trial account up to 5 movies per minute.

Sugerencia

Es recomendable que use .NET Framework versión 4.6.2It is recommended to use .NET framework version 4.6.2. o superior porque las versiones anteriores de .NET Framework no usan de forma predeterminada TLS 1.2.or higher because older .NET frameworks do not default to TLS 1.2.

Si debe usar versiones anteriores de .NET Framework, agregue una línea en el código antes de realizar la llamada a la API REST:If you must use older .NET frameworks, add one line into your code before making the REST API call:
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

Pasos siguientesNext steps

Examen de la salida de Azure Video Indexer producida por la APIExamine the Azure Video Indexer output produced by API