VLC - Problema de atraso de áudio estranho ao reproduzir vídeos

2

Estou usando o VLC 1.1.9 no Ubuntu 11.04 e constantemente tenho que ajustar o atraso de áudio ao reproduzir vídeos para obter o áudio / vídeo em sincronia (geralmente cerca de -400ms, mas varia ocasionalmente, às vezes -250 e às vezes 0 ...)

Por que isso aconteceria? Como posso consertar isso? ou, no mínimo, definir um atraso de áudio padrão para poupar algum esforço ...

Eu não pareço ter o mesmo problema com o mplayer ou o Totem, então eu não acho que seja um problema de configuração do sistema / som, e eu não notei um padrão com os tipos de arquivo, isso acontece com o .avi , .mp4 etc.

    
por Tom 03.09.2011 / 03:37

1 resposta

3

No VLC, há três itens, que devem afetar o modo como um quadro é ignorado ou Comprimento desigual de Áudio versus Vídeo é tratado. No VLC, o menu Ferramentas seleciona Preferências. Você pode ter que mudar para o modo All em vez do modo SIMPLE para vê-los todos.

em AUDIO, o [] Habilita o modo de alongamento de tempo

Suponho que esta tentativa de corrigir um fluxo de áudio e vídeo que são deslocados em comprimento uns dos outros. Ele pula o vídeo ou altera a taxa de reprodução do áudio para que os dois fluxos terminem ao mesmo tempo.
Isso pode ser bom ou isso pode ser muito ruim, só depende se o áudio foi executado por mais tempo do que o vídeo, ou compensações e outros dados que podem existir. Poderia Ajudar um vídeo com ele e danificar outro vídeo sem ele. Qualquer vídeo que o programa entenda completamente, e que foi codificado corretamente, não importa se está ligado ou desligado. / p>

em VIDEO 2 coisas [] Drop Late frames & [X] Ignorar quadros

Um destes permite que o vídeo deixe cair um quadro de vídeo, quando o jogador / computador não consegue acompanhar a reprodução. Como tento explicar abaixo, isso pode causar um deslocamento inicial do AV, ou Não dependendo de muitos outros fatores. Pode continuar a piorar e piorar à medida que os quadros são ignorados.

Geralmente, você desejaria definir configurações melhores ou usar um método de decodificação melhor ou exibir o método para Nunca ter um único quadro descartado. Desativar qualquer processamento extra e não aproveitado dos dados de vídeo também pode liberar o trabalho necessário para exibição. Então, se você pode tentar descobrir por que sua máquina não consegue acompanhar ou alterar o método de renderização de exibição para algo mais simples.

O outro é provavelmente o tratamento de quadros ou dados quebrados, o que traz outra série de coisas que podem acontecer, quando os dados estão corrompidos, o que pode deixar o AV fora de sincronia.

Mude estes 3 itens, até que um vídeo seja reproduzido corretamente e espere que o próximo vídeo seja semelhante :-) Não há uma maneira de defini-los para todos os vídeos e todas as máquinas. Eu posso garantir que existem vídeos por aí, que não estão codificados corretamente, e todos os switches do mundo não vão consertá-lo completamente :-)

Eu não vou usar todas as técnicas corretas, é assim que eu simplesmente as entendo

Ao reproduzir um vídeo em qualquer reprodutor, se o vídeo ignorar uma batida perde um quadro, e o áudio continua, como se nada tivesse acontecido, o áudio e o vídeo ficam fora de sincronia.

O áudio e o vídeo são, na verdade, dois fluxos de dados diferentes, mesmo que saiam do mesmo arquivo em muitas das situações do seu player AV. Este áudio e vídeo podem ser intercalados no fluxo de dados em diferentes intervalos de tempo ou quadros, ou não, pode até ser um arquivo separado.

pode ser assim no arquivo, pobre jogador tentando descobrir como manter os 2 sincronizados :-)

| ---- ÁUDIO ------------------------------- | ======= V = I = D = E = O =========================== |

Mas mais comumente assim

| ---- A ----- | ======= V ===== | ---- A ----- | ======= V == === | ---- A ----- | ======= V ===== |

Se você tiver um "intercalamento" rígido dos dados, pode ser assim

| -A- | = V = | -A- | = V = | -A- | = V = | -A- | = V = | -A- | = V = | -A- | = V = | -A- | = V = | -A- | = V = | -A- | = V = |

Se algum dia você recodificar ou codificar um vídeo, se possível, use um codificador que possa definir um entrelaçamento AV bem definido e, mesmo que o vídeo salte uma batida ou seja FFWD ou RRWD, o vídeo ficará sincronizado muito melhor. Virtual Dub, ainda uma das melhores coisas para o Free messing com um vídeo, você pode simplesmente passar por um vídeo "Direct" e reintercalá-lo. Uma vez intercalado, principalmente fica assim na reprodução. então uma codificação screwey também será (mais ou menos) bloqueada.

Outras explicações incluiriam também se o vídeo for "compensado durante todo o percurso", se o deslocamento "migrar" se afastar ao longo do tempo, ou se "pular ou sair dos lugares intermediários" no vídeo, 3 podem ser questões completamente diferentes e causadas por coisas completamente diferentes. Com o VirtualDub você pode consertar 2 desses problemas, em curto tempo de processamento.

Em conclusão, a maioria dos problemas é a codificação incorreta, a complexidade das diferentes formas de codificação / decodificação e dados corrompidos. Também seria bom se um intercalamento mais curto fosse usado quando possível.

O seu entendimento pode ser mais valioso do que alguma mudança que muda as coisas. Um pouco de compreensão, irá percorrer um longo caminho em saber quando e como e por que mudar, ou apenas reparar o vídeo, ou codificar melhor você mesmo. Não é limitado ao VLC, muitos outros jogadores têm os mesmos comutadores usando nomes diferentes. Sinto muito se eu mal expliquei, ou corri para muito.

    
por 02.10.2011 / 11:27