Java: Przewodnik pisania niestandardowego kodeka wideo

Mam dość dziwne pytanie, ale tutaj jest:

Czy jest to możliwe i czy są jakieś przewodniki do pisania niestandardowego kodeka wideo w C ++ lub Java?

Oto dziwna część: nie muszę zanurzać się w tych tonach informacji o dźwięku i obrazie, których nie rozumiem. Potrzebuję rzeczy technicznych, które pozwolą stworzyć warstwę oprogramowania między odtwarzaczem filmowym a plikiem filmowym.

Oto dlaczego: Chciałbym stworzyć bibliotekę lub ostatecznie 2 funkcje - kodowanie / dekodowanie - w C ++ / Java, które będą pobierać binarne wejście RAW dowolnego typu pliku i kodować / dekodować je według podanego hasła lub czegoś podobnego . Następnie muszę umieścić to przetwarzanie między odtwarzaczem filmów a plikiem filmowym. Ostatecznym rezultatem będzie chroniony hasłem plik mp4 / avi / mpeg / wmv (nie ma znaczenia), który można odtwarzać tylko za pomocą tego „kodeka”. Wewnętrzna logika kodeka nie jest teraz problemem.

Jak wyobrażam sobie, że jest to strumień, odtwarzacz filmów żąda pliku i dzwoni do mnieencode() funkcja, pobiera fragment pliku, dekoduje go (został wcześniej zakodowany) i zwraca poprawne bajty w formacie wmv / mp4 itd. w formacie.

Czy jest to możliwe i jak?