![]() Almost everything following should also work on most linux distributions with possibly a few exceptions, but i will draw your attention to those when we get there. I will also focus on the latest versions of all operating systems, software and utilities. Without any intention of inciting a flamewar, i want to focus on the Apple environment with all its desktop computers glory and satellite devices like the appletv, the iPad, the iPod touch and iPhone products. Still, the amount of useful combinations is infinite and depends on what your desired inputs and outputs are. The result of having all this goodness available as libraries and command line tools is that we now see more and more highly integrated frameworks who amalgamate all those tools into super scripts and utilities that can take care of the entire processing pipeline. We even have almost perfect unique key registrars for the media files like imdb.Ĭontrary to the dark ages of the late 90’s and first half of the first decade of the 21st century all those tools are standard libraries that can be compiled and run on any OS and not focused around the horrible Microsoft VFW API with its filter tangle hell no sane person could make sense of. We have online, community maintained, databases with rich data on movies, entire TV shows and audio CDs that can can dish out all their riches as neat xml files. We can multiplex utf-8 text subtitles directly into the containers. We have tools to manipulate meta data, chapter markers and attachments (for cover arts). We have a standardized video codec, h.264, and an extremely efficient (i am running out of superlatives here) open source implementation of it: x264. We have a standardized MPEG container who is rapidly catching up to all that matroska can do and is even more widely supported by hardware decoders and mobile devices. We have an open source container who can do almost anything and is supported across the board: matroska. Looking back at those days we are now in video heaven. We went through many proprietary formats who could achieve more but were all lacking in some respects. We have covered a long distance since the days of the now obsolete avi container who could only manage one video stream (without bi-directional predicted frames) and one audio stream. encoding and decoding complexity, compression efficiency, memory buffer limitations, compatibility with hardware decoders, meta data tags, subtitles in many languages and character encodings, chapters, cover images and so on. I had the pleasure of being part of the open source audio/video community for more than 10 years and have watched many tradeoffs came and go over the years when available software and hardware kept changing. Media files today contain video and audio streams encoded in many different codecs and packaged in many different containers. I am releasing it to get feedback and to satisfy the curiosity of some friends. That said, since 99% of the time running mp4pack is spent on either x264 encoding by HandBrake or matroska muxing you can say its perfectly usable right now, in it’s lame bash implementation. The python implementation will be easier to expand, allow to more fine control of which files get processed on each command and have proper config files instead of a bunch of global variables on the beginning of the file. It also opens the door for using c libraries of some utilities instead of a CLI interface which is faster and more robust. I am currently completely rewriting it as a python script which allows to integrate the various scripts into a more cohesive application and improve speed significantly and well as error handling. The bash version of mp4pack was mainly written for internal testing and research and is very inefficient in the way it uses some cli tools. Say you’re surprised? Say you like it? Say it’s just what you wanted? Because it’s yours. ![]() ![]() This is a preliminary introduction for mp4pack, a script to automate all i have learned about managing audio and video collections over the last 10 years.
0 Comments
Leave a Reply. |