No momento, estou transcodificando dados de vídeo de um DVD de vídeo para arquivos x264 MP4, mas os fluxos MPEG-2 originais parecem ter alguns problemas estranhos. Este DVD de vídeo é de uma gravação de TV digital caseira (DVB-S) usando um PVR e, posteriormente, gravado em um DVD-R padrão. Os programas gravados são reproduzidos sem falhas no meu reprodutor de DVD autônomo.
Após verificar um dos arquivos MP4 transcodificados, notei que certos pontos - sempre os mesmos quadros, independentemente da faixa de o vídeo original que estou codificando - há uma estranha gagueira no vídeo. Um quadro congela por cerca de um segundo. O número de quadros permanece correto para que não haja problema de sincronização de áudio, é apenas que cerca de 20 quadros são substituídos por duplicatas de um quadro específico. Isso parece acontecer independentemente do software que eu uso. Eu tentei Avidemux 2.6.3 com decodificação MPEG-2 nativa ou veiculação de quadros através do Avisynth 2.6.0, e também o VirtualDub 1.9.11 com o plugin MPEG-2. Todos os três métodos introduziu o mesmo número de duplicatas do mesmo quadro ao mesmo posição toda vez.
Examinando a fonte VOB, eu verifiquei esta seção específica do fluxo e notei que há uma ligeira gagueira na reprodução também (testado usando o Windows Media Player, VideoLAN, MPlayer e AviDemux ' visualização interna), mas é não exatamente o mesmo congelamento. Acontece cerca de um segundo antes no fluxo do que no arquivo transcodificado, e congela por cerca de metade do tempo (~ 10 quadros). Isso também aconteceu independentemente de ter reproduzido o vídeo original diretamente do DVD-R ou depois de copiar o arquivo VOB para o disco rígido, por isso não é o dirigir com defeito.
Seguindo a sugestão de um amigo, eu desmultiplexou o VOB em seu fluxos elementares M2V e AC3 e, em seguida, diretamente remultiplexado dois em um novo arquivo MPEG-PS. De fato, a gagueira desapareceu de ambos reprodução direta do arquivo remuxado e transcodifica que eu gero a partir dele.
Assim, o sintoma do problema está resolvido, mas eu me pergunto por que simplesmente demuxing e remuxing o vídeo original foi o suficiente? Algum tipo de índice está sendo reconstruído no processo, resolvendo um problema inerente aos dados originais? Mas então, por que o congelamento é diferente após a transcodificação, mesmo através de diferentes decodificadores e codificadores; e por que não noto nenhum congelamento ao reproduzi-lo em um DVD player de TV autônomo?
Tags video dvd multiplexing mpeg vob