Pós-processamento de arquivos compostos
Use a ferramenta de pós-processamento de arquivos para processar um conjunto de arquivos da Video API da Vonage, como aqueles gerados pelo recurso de arquivamento automático.
Os arquivos da Video API da Vonage têm prazo de validade. É possível que parte de uma sessão não seja gravada em um único arquivo. Para evitar a perda de parte da sessão, utilize o recurso de arquivamento automático Arquivamento automático, o que permite a geração de vários arquivos para abranger a gravação de sessões muito longas. Como alternativa, use o Arquivos simultâneos recurso que permite iniciar uma segunda gravação antes de encerrar a gravação anterior. Em ambos os casos, esses arquivos são gerados com uma breve sobreposição entre o final de uma gravação e o início da seguinte.
Se você preferir ter um único arquivo de vídeo contendo toda a sessão, pode usar nosso Pós-processamento de arquivos compostos ferramenta que une gravações e tenta tornar a transição o mais suave possível do ponto de vista perceptivo. Você pode usar essa ferramenta para gerar um único arquivo, porém mais longo, que contenha mídia proveniente de vários arquivos de arquivo mais curtos. Também é possível usar essa ferramenta com gravações de vídeo que não tenham sido criadas como arquivos do Vonage Video, desde que haja sobreposição de mídia e que a configuração dos codecs esteja presente.
Este guia apresenta uma breve explicação sobre como a ferramenta de pós-processamento determina o período de sobreposição e como ela realiza a fusão entre dois arquivos.
Visão geral
Para gerar gravações longas, nossa proposta detecta informações de mídia sobrepostas entre dois arquivos consecutivos, identificando o quadro de vídeo e a amostra de áudio que representam o início e o fim dos dados repetidos. A ferramenta aqui apresentada utiliza regras de decisão para gerar arquivos longos com essa redundância removida. Ela é resistente à presença de quadros em preto, informações altamente redundantes, conteúdo altamente estático, falhas e dessincronizações entre áudio e vídeo.
Para identificar a área de sobreposição, a lógica de pós-processamento dos arquivos precisa analisar apenas uma pequena parte de ambos os arquivos, alguns segundos antes do final do primeiro arquivo e do início do segundo.
Os arquivos de entrada devem ter propriedades de codec idênticas; caso contrário, a ferramenta apresentará um erro. Além disso, é necessário que o ffmpeg e ffprobe programas que devem ser instalados no caminho do usuário e que precisam ter sido compilados com os parâmetros de áudio e vídeo exigidos, listados aqui:
- Parâmetros de vídeo do arquivo composto
- codec: H264
- perfil: Linha de base restrita
- formato de pixel: YUV 420p
- nível: 4.1
- FPS: 25
- Escala de tempo do PTS: 90.000
- Parâmetros de áudio do arquivo composto
- codec: AAC LC
- frequência de amostragem: 48 kHz
- canais: 1
- Contêiner
- tipo: mp4
Tipo de conteúdo
Um arquivo pode conter apenas áudio, vídeo ou ambos. Quanto ao conteúdo sobreposto: o movimento do vídeo pode ser extremamente estático ou altamente dinâmico, e o sinal de áudio pode apresentar ruído intenso ou longos períodos de silêncio. Além disso, nossa ferramenta pode enfrentar outros tipos de conteúdo desafiadores; por exemplo, quando um provedor interrompe a transmissão durante o período de sobreposição, o que resulta na presença de alguns quadros em preto no arquivo final, ou quando o fluxo de mídia sofreu perda de pacotes durante a gravação, causando falhas de decodificação (quadrados verdes) no vídeo ou áudio entrecortado.
Observe que os intervalos de tempo de sobreposição, tanto de áudio quanto de vídeo, são avaliados de forma independente.
Algoritmo
Arquivos apenas de áudio
Como o sistema auditivo humano percebe as frequências de forma logarítmica, nosso algoritmo de áudio avalia de forma logarítmica o conteúdo de frequência das partes final e inicial, respectivamente, do primeiro e do segundo sinais de áudio que variam ao longo do tempo.
Após a realização da transformação tempo-frequência, utiliza-se uma janela deslizante de tamanho fixo para dividir os sinais processados e calcular iterativamente suas correlações individuais.
Oferecemos duas soluções diferentes, de acordo com o número de iterações realizadas durante o cálculo da janela deslizante do algoritmo:
- Pesquisa aprofundada: essa opção pode ser executada se a opção -s ou --deep-search for adicionada ao comando em execução.
- Pesquisa parcial: algoritmo padrão.
Arquivos apenas de vídeo
Para analisar a sobreposição dos quadros de vídeo, foram implementadas várias métricas. Cada uma delas se baseia na ideia de que, quanto menor for o valor retornado por esses algoritmos, maior será a semelhança entre os quadros dos dois vídeos. Da mesma forma que no áudio, o código de pós-processamento desliza, quadro a quadro, a parte do segundo vídeo — que corresponde aos primeiros segundos especificados pelo usuário como período de avaliação — sobre o quadro correspondente, com o mesmo número de segundos, na parte final do primeiro vídeo.
O código oferece a opção de exibir resultados gráficos. Nesse caso, o gráfico mostrará uma área verde que representa a relação de maior similaridade entre os quadros do primeiro e do segundo arquivo, onde ocorre a sobreposição. Além disso, uma linha de 45 graus também é marcada em azul, indicando que os quadros mais semelhantes estão ordenados consecutivamente, respectivamente. Essa correlação é posteriormente convertida em dados de tempo para determinar o período de sobreposição do vídeo.
Observe que sempre é aplicado um pré-processamento quadro a quadro antes do cálculo de qualquer um dos nossos quatro algoritmos.
Arquivos de Áudio e Vídeo
No caso de arquivos que contenham tanto áudio quanto vídeo, nossa ferramenta identifica separadamente o período de sobreposição para cada um deles. Em seguida, ela avalia a interseção e toma decisões diferentes de acordo com: a) se a interseção for nula; b) se as interseções de áudio e vídeo não forem suficientemente semelhantes; e c) quando ambas as sobreposições forem muito semelhantes. Para os casos a) e b), os dados de sobreposição de áudio são priorizados, pois as informações de áudio costumam ser mais confiáveis em casos em que os dados de vídeo podem apresentar uma tendência altamente estática. Por fim, para a situação c), ambos os períodos de sobreposição são encaminhados ao mecanismo de fusão, no qual cada um dos intervalos — de áudio e de vídeo — é utilizado na fusão de cada faixa de mídia.
Outros materiais úteis
Nossa documentação para desenvolvedores contém explicações fáceis de entender e código pronto para uso. Consulte os arquivos README em https://github.com/Vonage/archive-post-processing e https://github.com/Vonage/archive-post-processing/tree/main/examples/archive-stitcher.
Referências