Transcrição
O Player do Elastic Encoder habilita o envio de arquivos de transcrição para o vídeo.
Interface de Programação (APIs)
Solicitação do JWT de Acesso
Faça um comando autenticado de requisição POST em /api/auth
POST https://api.elasticencoder.videolib.live/dev/auth
Cabeçalhos para GET para /api/asset.
Header Valor
Ocp-Apim-Subscription-Key chave de autorização do microserviço.
Content-Type application/json.
No corpo da requisição envie o JSON abaixo:
{
"app":"aplicação", // código da aplicação (enviado para ativação)
"key":"chave",// chave de autenticação (enviado para ativação)
"userName":"id Usuario", // id do usuário do sistema de origem - identificação de audiência
"name":"Nome Usuario", // nome do usuário do sistema de origem - identificação de audiência
"group":"100", // (ocional) código do grupo do sistema de origem - identificação de audiência
"email":"usuario@email.com.br", // (opcional) email do usuário do sistema de origem - identificação de audiência
"documentId":"num documento - ex: cpf", // (opcional) documento do usuário do sistema de origem
"department":"nome departamento", // (opcional) departamento do usuário do sistema de origem
"timeoutMinutes":"20" // tempo de duração do token
}
Como retorno do comando será gerado o JSON abaixo:
{
"token":"eyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyTmFtZSI6ImlkVXN1YXJvIiwibmFtZSI6Ik5vbWUgVXN1YXJpbyIsImRhdGFUb2tlbiI6IjIwMjQtMDEtMjdUMjI6MjI6MjcuOTI0NzU1LTAzOjAwIiwiZ3JvdXAiOiIxMDAiLCJlbWFpbCI6InV1c3VhcmlvQGVtYWlsLmNvbS5iciIsImRvY3VtZW50SWQiOiJudW0gZG9jdW1lbnRvIC0gZXg6IGNwZiIsImRlcGFydG1lbnQiOiJub21lIGRlcGFydGFtZW50byIsIm1hdGNoIjoiODAyYmVjOGZkNTMxODE5MmIwYTc1IiwiaWRVc2VyUXVldWUiOiIwRTQ5RDM2ODMxNEM0NUJBMjJBQzYxRDY3MzA0MDYwREU1RDhFODE1OENBRjlFRDM4RDIyMjY1NzMwOTBDRDA4Iiwicm9sZXMiOiJHZXN0b3IifQ.yChC56edU1zmCua7sodHGVCD-rrMp5SCeIerkeK2llI",
"dataToken":"2024-01-27T22:22:27.924755-03:00",
"userName":"id Usuario",
"name":"Nome Usuario"
,"tokenType":"jwt",
"idUserQueue":"0E49D368314C45BA22AC61D67304060DE5D8E8158CAF9ED38D2226573090CD08",
"group":"100",
"roles":"",
"email":"usuario@email.com.br",
"documentId":"num documento - ex: cpf",
"department":"nome departamento",
"status_ret":null,
"erro":null
}
onde o campo token corresponde a chave de autenticação que será usada no campo jwt na rota de abertura do player.
Para Assistir um Vídeo
Para enviar uma transcrição faça um comando autenticado de requisição POST em /api/transcript
POST https://api.elasticencoder.videolib.live/dev/job
Cabeçalhos para POST para /api/job.
Header Valor
Ocp-Apim-Subscription-Key chave de autorização do microserviço.
Authorization jwt de autorização
Content-Type application/json.
No corpo da requisição envie o JSON abaixo:
{
"assetName":"mezanino-4",
"name":"transcript2",
"language":"pt-BR",
"base64":"data:@file/plain;base64,V0VCVlRUDQoNCk5PVEUNCmlkaW9tYTpwdC1icg0KDQpOT1RFIENvbmZpZGVuY2U6IDAuOTA4MzIxMDIyOTg3MzY1Nw0KDQowMDowMDowMS4wMDAgLS0+IDAwOjAwOjA0Ljc4MQ0KT2zDoSwgbmVzdGUgdsOtZGVvIGZhbGUgc29icmUgYWxndW5zIGFzcGVjdG9zIGltcG9ydGFudGVzIHJlbGFjaW9uYWRvcw0KDQpOT1RFIENvbmZpZGVuY2U6IDAuOTA4MzIxMDIyOTg3MzY1Nw0KDQowMDowMDowNC44NDIgLS0+IDAwOjAwOjA3LjE2MA0Kw6AgcGVyc3BlY3RpdmEgZ2VuZXJhdGl2YSBkYSBsaW5ndWFnZW0uDQoNCk5PVEUgQ29uZmlkZW5jZTogMC45NjQ2OTAwMjk2MjExMjQzDQoNCjAwOjAwOjA3LjY4MCAtLT4gMDA6MDA6MDkuNzIwDQpPIHF1ZSB2b2PDqiBzYWJlIHNvYnJlIGEgZ3JhbcOhdGljYSB1bml2ZXJzYWw/DQoNCk5PVEUgQ29uZmlkZW5jZTogMC45MTQwNzIyNzUxNjE3NDMyDQoNCjAwOjAwOjExLjAzOSAtLT4gMDA6MDA6MTUuMjg1DQpEZSBhY29yZG8gY29tIGEgZ3JhbcOhdGljYSBnZXJhdGl2YSwgaMOhIHVtYSBjb2duacOnw6NvIGVzcGVjw61maWNhDQoNCk5PVEUgQ29uZmlkZW5jZTogMC45MTQwNzIyNzUxNjE3NDMyDQoNCjAwOjAwOjE1LjM0OSAtLT4gMDA6MDA6MTkuMDc5DQpwYXJhIGEgYXF1aXNpw6fDo28gZGEgbGluZ3VhZ2VtLCBhIGdyYW3DoXRpY2EgdW5pdmVyc2FsIG91IGEgVUcuDQoNCk5PVEUgQ29uZmlkZW5jZTogMC44NjA2NTI4MDQzNzQ2OTQ4DQoNCjAwOjAwOjIwLjM2MCAtLT4gMDA6MDA6MjQuMjcwDQpOZXNzZSBzZW50aWRvLCBhY3JlZGl0YS1zZSBxdWUgbyBzZXIgaHVtYW5vIHRlbmhhIHVtDQoNCk5PVEUgQ29uZmlkZW5jZTogMC44NjA2NTI4MDQzNzQ2OTQ4DQoNCjAwOjAwOjI0LjM0OCAtLT4gMDA6MDA6MzAuMDU3DQpoYWJpbGlkYWRlIMO6bmljYSwgdW1hIGZhY3VsZGFkZSBtZW50YWwgaW5hdGEgcXVlIGZheiBhIGFxdWlzacOnw6NvIGRhIGxpbmd1YWdlbQ0KDQpOT1RFIENvbmZpZGVuY2U6IDAuODYwNjUyODA0Mzc0Njk0OA0KDQowMDowMDozMC4xMzYgLS0+IDAwOjAwOjMwLjg0MA0KcG9zc8OtdmVsLg0KDQpOT1RFIENvbmZpZGVuY2U6IDAuODcyNDM3NjU1OTI1NzUwNw0KDQowMDowMDozMi4yODAgLS0+IDAwOjAwOjM2LjQzNQ0KRGVzc2EgZm9ybWEsIGEgR3JhbcOhdGljYSBVbml2ZXJzYWwgw6kgdW0gbWVudGFsIGluYXRvLg0KDQpOT1RFIENvbmZpZGVuY2U6IDAuODcyNDM3NjU1OTI1NzUwNw0KDQowMDowMDozNi41MTIgLS0+IDAwOjAwOjQzLjA1Mw0KRmFjdWxkYWRlIGVzcGVjaWZpY2FtZW50ZSBkZWRpY2FkYSDDoCBhcXVpc2nDp8OjbyBkYSBsaW5ndWFnZW0sIHF1ZSBleHBsaWNhIGEgYXJxdWl0ZXR1cmENCg0KTk9URSBDb25maWRlbmNlOiAwLjg3MjQzNzY1NTkyNTc1MDcNCg0KMDA6MDA6NDMuMTMwIC0tPiAwMDowMDo0Ni40MzkNCmRhIGxpbmd1YWdlbSBjb21vIHVtIGNvbmp1bnRvIGRlIHJlZ3JhcyBwcsOpLWV4aXN0ZW50ZXMuDQoNCk5PVEUgQ29uZmlkZW5jZTogMC45MTMwNzQzMTQ1OTQyNjg4DQoNCjAwOjAwOjQ3LjM2MCAtLT4gMDA6MDA6NTEuNTkwDQpEZSBhY29yZG8gY29tIGEgdGVvcmlhIGdlcmF0aXZhLCBhIEdyYW3DoXRpY2EgVW5pdmVyc2FsIMOpIHVtYQ0KDQpOT1RFIENvbmZpZGVuY2U6IDAuOTEzMDc0MzE0NTk0MjY4OA0KDQowMDowMDo1MS42NTcgLS0+IDAwOjAwOjU1LjgyMQ0KYXJxdWl0ZXR1cmEsIG91IMOpIGEgYXJxdWl0ZXR1cmEgcXVlIHRyYXogdG9kYXMgYXMgcmVncmFzDQoNCk5PVEUgQ29uZmlkZW5jZTogMC45MTMwNzQzMTQ1OTQyNjg4DQoNCjAwOjAwOjU1Ljg4OCAtLT4gMDA6MDA6NTkuNTE0DQpxdWUgZGVmaW5lbSBvIGRlc2lnbiBmb3JtYWwgZGUgcXVhbHF1ZXIgbGluZ3VhZ2VtIHF1ZSBzZWphDQoNCk5PVEUgQ29uZmlkZW5jZTogMC45MTMwNzQzMTQ1OTQyNjg4DQoNCjAwOjAwOjU5LjU4MiAtLT4gMDA6MDE6MDMuODgwDQphdGl2YWRvIGNvbSBiYXNlIG5hcyBpbmZvcm1hw6fDtWVzIHByb3ZlbmllbnRlcyBkZSBpbnB1dHMgbGluZ3XDrXN0aWNvcy4NCg0KTk9URSBDb25maWRlbmNlOiAwLjkyMzQ4Mzc4ODk2NzEzMjYNCg0KMDA6MDE6MDUuMjgwIC0tPiAwMDowMTowOS4zMjYNClF1YWwgc2VyaWEgYSBpbXBvcnTDom5jaWEgZG8gaW5zdW1vLCBlbnTDo28sIG5lc3RlDQoNCk5PVEUgQ29uZmlkZW5jZTogMC45MjM0ODM3ODg5NjcxMzI2DQoNCjAwOjAxOjA5LjQwNSAtLT4gMDA6MDE6MTAuMTE5DQpjZW7DoXJpbz8NCg0KTk9URSBDb25maWRlbmNlOiAwLjk0MzE1NTQ2NzUxMDIyMzQNCg0KMDA6MDE6MTAuMTIwIC0tPiAwMDowMToxMy44MjANCkEgZW50cmFkYSBsaW5ndcOtc3RpY2EgY29uc2lzdGUgZW0gdW0gY29uanVudG8gZGUgZGFkb3MgbGluZ3XDrXN0aWNvcyBwYXJhDQoNCk5PVEUgQ29uZmlkZW5jZTogMC45NDMxNTU0Njc1MTAyMjM0DQoNCjAwOjAxOjEzLjg4NiAtLT4gMDA6MDE6MTguNDQ2DQpxdWUgbyBpbmRpdsOtZHVvIMOpIGV4cG9zdG8gZHVyYW50ZSBhIGFxdWlzacOnw6NvIGRhIGxpbmd1YWdlbSwgb3Ugc2VqYSwNCg0KTk9URSBDb25maWRlbmNlOiAwLjk0MzE1NTQ2NzUxMDIyMzQNCg0KMDA6MDE6MTguNTEzIC0tPiAwMDowMToyMC43NjANCnF1YW5kbyBlc3RhbW9zIGFwcmVuZGVuZG8gYSBmYWxhci4NCg0KTk9URSBDb25maWRlbmNlOiAwLjkzNzAwMjg5NzI2MjU3MzINCg0KMDA6MDE6MjEuOTIwIC0tPiAwMDowMToyNC41MDUNCkVtIG91dHJhcyBwYWxhdnJhcywgdG9kb3Mgb3MgYmViw6pzIG5hc2NlbSBjb20gYSBjYXBhY2lkYWRlDQoNCk5PVEUgQ29uZmlkZW5jZTogMC45MzcwMDI4OTcyNjI1NzMyDQoNCjAwOjAxOjI0LjU1NSAtLT4gMDA6MDE6MjUuNjAwDQpkZSBhcHJlbmRpemFnZW0gZGUgbMOtbmd1YXMuDQoNCk5PVEUgQ29uZmlkZW5jZTogMC44OTI5MzM2MDcxMDE0NDA0DQoNCjAwOjAxOjI2LjE2MCAtLT4gMDA6MDE6MjkuMDg2DQrDgCBtZWRpZGEgcXVlIGNyZXNjZW0sIHPDo28gZXhwb3N0b3Mgw6AgbMOtbmd1YQ0KDQpOT1RFIENvbmZpZGVuY2U6IDAuODkyOTMzNjA3MTAxNDQwNA0KDQowMDowMToyOS4xNDUgLS0+IDAwOjAxOjMwLjM5OQ0KZG8gc2V1IGFtYmllbnRlLg0KDQpOT1RFIENvbmZpZGVuY2U6IDAuOTI5OTAyOTcwNzkwODYzDQoNCjAwOjAxOjMwLjcyMCAtLT4gMDA6MDE6MzIuODgwDQpJbmdsw6pzLCBQb3J0dWd1w6pzLCBFc3BhbmhvbC4NCg0KTk9URSBDb25maWRlbmNlOiAwLjg4MDg2ODYxMzcxOTk0MDINCg0KMDA6MDE6MzMuNTIwIC0tPiAwMDowMTozNy4zMjANCkVzc2EgZXhwb3Npw6fDo28sIGVzc2UgZGFkbyBsaW5ndcOtc3RpY28gw6kgbyBpbnN1bW8uDQoNCk5PVEUgQ29uZmlkZW5jZTogMC44NzE4NTAwMTM3MzI5MTAyDQoNCjAwOjAxOjM4Ljc2MCAtLT4gMDA6MDE6NDMuOTQ2DQpBIG1lbnRlIGh1bWFuYSBvcGVyYSBlbSBpbnRlcmHDp8OjbyBjb20gZGFkb3MgZGUgZW50cmFkYSwgcHJvY2Vzc2FtZW50bw0KDQpOT1RFIENvbmZpZGVuY2U6IDAuODcxODUwMDEzNzMyOTEwMg0KDQowMDowMTo0NC4wMjUgLS0+IDAwOjAxOjQ5LjEzMw0KaW5mb3JtYcOnw6NvIGxpbmd1w61zdGljYSBlIG9yZ2FuaXphw6fDo28gZGUgdW0gYWxnb3JpdG1vIGRlIGZvcm1hIHF1ZQ0KDQpOT1RFIENvbmZpZGVuY2U6IDAuODcxODUwMDEzNzMyOTEwMg0KDQowMDowMTo0OS4yMTIgLS0+IDAwOjAxOjUyLjEyMA0Kw6kgY29uc2lzdGVudGUgY29tIG9zIGRhZG9zIHJlY2ViaWRvcy4NCg0KTk9URSBDb25maWRlbmNlOiAwLjc3MzcwMzE1NzkwMTc2MzkNCg0KMDA6MDE6NTMuNTIwIC0tPiAwMDowMTo1NS44MjUNCkJlbSwgZXNwZXJvIHF1ZSBhZ29yYSB2b2PDqiBwb3NzYSBlbnRlbmRlciBvIHF1ZSBvDQoNCk5PVEUgQ29uZmlkZW5jZTogMC43NzM3MDMxNTc5MDE3NjM5DQoNCjAwOjAxOjU1Ljg3NyAtLT4gMDA6MDE6NTcuMjM5DQpwZXJzcGVjdGl2YSBnZW5lcmF0aXZhIMOpLg0KDQpOT1RFIENvbmZpZGVuY2U6IDAuODg1MzY0OTQ5NzAzMjE2Ng0KDQowMDowMTo1Ny43NjAgLS0+IDAwOjAyOjAwLjIwMA0KQ29udGludWUgZXN0dWRhbmRvIGUgZXUgdm91IHRlIHZlciBkYSBwcsOzeGltYSB2ZXouDQoNCg=="
}
onde:
assetName - Id do asset do arquivo original
name - nome do registro (descrição livre)
language - pt-BR, en-US
Quando um comando POST é executado, como retorno do comando será gerado o JSON abaixo:
{
"assetName": "mezanino-4",
"guid": "2516956744144161773-f41846cc-fde0-4768-a165-afb99f28df54",
"name": "transcript2",
"language": "pt-BR",
"creationTime": "2024-01-30T14:53:05.5839479+00:00",
"idStorage": "5ab5d5b73b35404092c74028a22e1779.vtt",
"base64": null,
"url": null,
"cod_erro": null,
"status_ret": null,
"erro": null
}