Posso transcodificar um vídeo se tiver um aplicativo que possa reproduzi-lo?

2

Meu complexo de condomínios foi assaltado na semana passada e fui encarregado de recuperar o vídeo do nosso sistema de segurança para fornecer à polícia. O sistema é um DVR mais antigo ( DiViS DVR - aviso: link em PDF ao manual do usuário . No passado, houve problemas com a polícia capaz de ler os DVDs que fornecemos a eles. Estou começando a entender o porquê.

O DVR é executado em uma máquina Windows XP com software de gravação de câmera. Os vídeos em si são armazenados em um formato binário proprietário, portanto, preciso usar o software que acompanha o produto para exportar o vídeo.

O software possui 3 opções para exportar vídeo: AVI, MP4 e MP4 + EXE. Nenhum é particularmente bom.

O AVI gera um enorme AVI (Uncompressed RGB) que não é utilizável. O vídeo fica instável e vários players e ferramentas de codec têm problemas com o arquivo. Os vídeos são essencialmente inúteis.

O MP4 + EXE gera um EXE que é um player incorporado. O vídeo parece bom, mas os controles do player são péssimos (você não pode pular, e se começar a avançar rapidamente, ficará preso nessa velocidade até sair do aplicativo). É quase inutilizável.

O MP4 produz um arquivo MP4 altamente compactado (muito rapidamente - esse deve ser o formato de armazenamento nativo). Quando tento reproduzi-lo em casa, a cor fica mal e, ocasionalmente, o VLC apresenta erros e é necessário fechar o arquivo. Olhando no guia do usuário acima, eles dizem o seguinte sobre o arquivo:

Formato de arquivo DiViS AVI (.mp4), que só pode ser visualizado pelo DiViS AVI Viewer.

No site do fabricante, eles dizem isso sobre o codec:

Usando o codec MPEG-4 proprietário, uma tecnologia desenvolvida por nossa empresa, você pode comprimir a imagem em tempo real rapidamente sem o ruído e a distorção da tela.

Portanto, o codec deles é amplamente MP4, mas claramente modificado do padrão. Explica por que posso reproduzir os vídeos no meu PC (usando um codec MP4 padrão).

Então fiquei pensando que minha melhor opção aqui é transcodificar o MP4. Ao instalar o software visualizador do fabricante (é idêntico ao incorporado no MP4 + EXE), posso reproduzir os arquivos MP4 no meu PC. No entanto, não está registrando o codec para Windows - os vídeos ainda não são reproduzidos corretamente no VLC.

No diretório de instalação do visualizador, há um arquivo MP4CODEC.DLL. Parece ser o que eu preciso para decodificar corretamente o arquivo. No entanto, não é uma DLL documentada e parece ofuscada (o W32Dasm parecia sem sentido quando carreguei a DLL). A menos que haja uma maneira de tentar registrar esta DLL como meu codec MP4 no Windows, acho que não posso fazer nada com a DLL.

Fico com um vídeo sendo reproduzido claramente no meu PC, desde que eu use o player proprietário. Existem ferramentas que eu possa usar para capturar o vídeo do programa e despejá-lo em um AVI h264 mais utilizável? Eu gostaria de evitar o software de captura de tela.

Se isso não puder ser feito, alguém pode sugerir outra estratégia?

Stefan Mohr
fonte
Isso soa como uma questão interessante. Não sei muito sobre o Windows, então provavelmente não posso ajudá-lo, mas o que exatamente deu errado com "vários players e ferramentas de codec têm problemas com o arquivo"? Quais ferramentas de codec você tentou?
slhck
Você já tentou entrar em contato com o fabricante por que o software é tão ruim?
Baarn
@slhck: "problemas" geralmente se manifestam na recusa de abrir alguns dos arquivos (embora todos tenham sido exportados da mesma maneira), na incapacidade de começar a tocar, nos quadros congelando pelo restante da reprodução, na inversão completa de cores (verde fluorescente) tudo ! woo!) e, frequentemente, uma incapacidade de pular o arquivo. Um arquivo se comporta de maneira consistente da mesma maneira, mas é diferente para cada um. Isso me leva a acreditar que esse codec está apenas ligeiramente fora de sincronia com o padrão mpeg-4. É um prazer trabalhar no OS X ou Linux, mas esse codec personalizado é uma DLL do Win32, portanto, presumo que estou preso.
27412 Stefan Mohr
@ Walter Maier-Murdnelch: Do estado do software, espero que não seja totalmente suportado agora, já que o software tem pelo menos 5 anos e nunca foi atualizado. Independentemente da minha suposição, no entanto, a polícia está vindo para as filmagens na segunda-feira, então não tenho o tempo necessário para conversar com eles durante o horário comercial. :(
Stefan Mohr

Respostas:

2

Tendo espaço suficiente, eu escolheria o não compactado, para tirá-lo do formato próprio. recodifique o descompactado em um formato amplamente usado.

Aqui está o porquê. Ao descodificar novamente um esquema de compactação de codecs, o software decodifica tudo antes (sem compressão). Em seguida, esse vídeo não compactado é compactado novamente no outro formato. (esse processo é feito na memória, onde é mais rápido) Quando você obtém um vídeo que já está compactado e precisa transcodificá-lo Novamente, há muito mais perda e artefatos envolvidos. Basicamente, você tem 2 De-Re-codifica acontecendo em vez de apenas um.

Você provavelmente pode instalar a dll corretamente como um codec para decodificar o vídeo, provavelmente é o código para descompactação. Avisynth pode ser a coisa para tentar uma dll, eu apenas não sei. Eu não gostaria de descobrir totalmente como obter o codec funcionando, se fosse possível obter e trabalhar com descompactado, por uma única vez.

Em ocorrências raras como essas "super", muitas vezes decodificam coisas realmente estranhas. Mas, se é possível obter um vídeo totalmente descompactado, o De-code foi concluído e tudo o que você precisa fazer é recodificá-lo. Então, eu preferiria o descomprimido ao proprietário.

Isso deixa apenas mais um problema possível: o "descompactado" em si é de um formato apropriado para o áudio ou o vídeo. Como você pode reproduzi-lo, provavelmente agora pode codificá-lo em um formato compactado. Use algo como virtualDub. Se for uma filmagem desagradável de câmera de segurança, existem alguns ótimos filtros para dub virtual que podem limpá-la (também o Avisynth também, mas o V-dub tem visuais melhores).

Quando se trata de DVD, esse também é outro De-Re que pode ser totalmente antissemita, existem muitos programas de autoria de DVD que podem lidar com o Descomprimido e colocá-lo nos formatos adequados de tipo MPEG compatível para um DVD "livro". O DVD que é distribuído deve ter o formato de DVD totalmente compatível usado nos reprodutores de DVD padrão, e não alguns arquivos lançados nele com algum reprodutor. (se possível)

Adicionando a criação de um DVD específico para os consumidores em todo o cenário. Eu gostaria de ir direto do descompactado para o DVD. ou Se eu fosse editar ou processar o vídeo, gostaria de processar e editar sem compactação (lenta e dolorosa); então, quando se trata da codificação de DVD, esse é o último local em que é compactado.

Em resumo, não descompacte em formatos com perda, sempre que possível, você ainda pode finalizar com algo que seja transportável e compatível.

Mp4 proprietário ---> Descompactado -> Mpeg4 popular re-comprimir ---> descomprimir novamente ----> de-re para mpeg para dvd.

Mp4 proprietário ----> Descompactado ---> Compress to Mpeg for dvd

Psycogeek
fonte
11
Tentei a rota não compactada e achei o vídeo resultante não confiável. Eu estou supondo que o software está convertendo 10fps mp4 em 30fps descomprimido e, como resultado, está produzindo muitos problemas de tempo (a mesma exportação com mp4 vs AVI tem durações diferentes por vários minutos, ecch). De fato, o VirtualDubMod dá um erro quando tento reproduzir o AVI descompactado (e nem carrega o MP4). Acho que meu ponto de partida pode ser reexportar o vídeo usando um intervalo de tempo mais amplo para ver se o AVI foi truncado devido a um bug consistente e não a um problema com um grupo específico de quadros. Obrigado!
21412 Stefan Mohr