What is it
Avdump is a video codec identification utility - identifies which video codec and audio compression method is used on video files. Furthermore it calculates the used bitrates, the length, identifies the number of used audiochannel and more.
It is mainly based on mediainfo, but got enhanced and changed to fit anidb's needs by epoximator.
Avdump was created with the intention to provide anidb with a tool to standarize the input for files and be a part of the upcoming AOM 0.6. It does however already support autocreqing by itself. See Avdump/Autocreqing.
- avi, mkv, ogm, mp4, asf/wmv, mpg, rm, mov
Note: Avdump is under development. Don't take the validity of its output for granted. Please report errors/issues.
- Audio channel detection is very simple:
- Number of channels might be wrong. (5.1 vs 6.1, 6.1 vs 7.1)
- No check of actual data in channels. (dummy channels)
- No detection of fps for asf/wmv files.
- No detection of video anamorphism in mp4.
- Only full parsing of avi, mkv and ogm container formats.
- Avdump is only for Windows at the moment. It works via Wine though.
Avdump is a simple command line client:
- avdump [-<options> ...] <media file/folder> [<media file/folder> ...]
|ext:<comma separated list>||Only process files with the specified extensions.||ext:mkv,avi|
|log:<file path/name>||Mirror the output to the specified file.||log:avdump.log|
|exp:<file path/name>||Export ed2k-links to the specified file. Very useful when mass adding files.||exp:ed2k-links.txt|
|ac:<username>:<api_password>||Enable automatic creqing. You should always use this option when dumping anime files!||-ac:tard:monkey|
|port:<port number>||Use the specified UDP port for communication with the AniDB server (api.anidb.net). Only needed when behind "strict" firewalls.||port:1337|
|done:<file path/name>||Save processed-file-paths to the specified file and exlude existing entries.||done:done.txt|
|tout:<timeout_in_seconds>:<number_of_retries>||Set timeout options.||tout:15:6|
|bsize:<KB_per_block>:<number_of_blocks>||Set size per block (2048 is default) and number of blocks in the circular buffer for hashing. If number of blocks is less than 2 then a plain single-threaded hasher is used. Might be useful if you got trouble with the default hasher.||bsize:512:16|
|s||Formatting||Use short/simple format.|
|x||Formatting||Old XML format (intended for AOM).|
|y||Formatting||New XML format (used when autocreqing).|
|c||Control||Do not recurse into subfolders, only handle files in current folder.|
|i||Control||Skip full parsing (only for testing, not compatible with autocreqing).|
|m||Control||Monitor folder(s). Check for new files every now and then.|
|n||Control||Add an extra newline after each file file has been processed.|
|p||Control||Pause when done, keep commando window open.|
|q||Control||Pause after each file.|
|r||Control||Randomize the file order.|
|t||Control||Print time used per file.|
|z||Control||Delete files after parsing.|
|o||Control||Wait for response when sending dumps and resend if needed.|
|9||Hash||Mode for hashing music files. Should be used together with -ac.|
|a||Hash||Include all hash algorithms.|
|h||Hash||Hash only mode, ie. no metadata parsing.|
|e||Hash||Print ed2k link|
|d||Hash||Print AniDB link|
|g||Hash||Print AniDB link and open it with the default browser.|
|u||Hash||Print the time used for hashing per file.|
- Extract avdump to a folder of choice.
- Example: "C:\Program Files\avdump\"
- Right-click avdump.exe, select Create Shortcut.
- Right-click the shortcut, add options to the Shortcut - Target line.
- Example, normal usage: "C:\Program Files\avdump\avdump.exe" -p
- Example, autocreq usage: "C:\Program Files\avdump\avdump.exe" -o -ac:myName:myApiPass
- You can also set other options like s, x or t if you wish to do so.
- Note that you need to set an API password in your anidb profile for autocreqing.
- Optional: Change Run to Maximized.
- Move shortcut to the SentTo folder.
- Example, under XP: "C:\Documents and Settings\Username\SendTo"
- Example, under Vista: "C:\Users\Username\AppData\Roaming\Microsoft\Windows\SendTo"
- Where Username is your Windows Login-Name.
- Note that SendTo is a hidden folder.
- Right-click any media-file, goto "Send To", choose avdump.exe
- Get CReqing
Graphical user interface
For processing DVD's it's best to set a small blocksize. Helps to improve performance.
(default is 2048)
Avdump is now part of a new autocreqing system. Some more or less important notes:
- To be able to use this feature you’ll need an AniDB account and you have to define the api password in your profile. All data sent to the server will be logged with ip and uid.
- Communication between client and server is one-way (except session init/refresh); the client does not receive any confirmation for sent data. This means that there is no guaranty that all the dumps you send will arrive at the server and stored in the database, and there is no way to check this. From version 0.31 it's possible to make avdump wait for confirmation from the server by using the -o switch.
- It is possible to run more than one instance of avdump at once, but not more than ten will work ok. At the moment only 10 sessions per ip are allowed by the server, meaning the eleventh instance will terminate the first.
- There is no direct connection between data sent to AniDB and creqs generated. The data received will just be stored for later processing. There is no way to check the current status for a dump. Usually, it should take at least 24 hours from the moment you dump a file till the data actually changes. If any irregularities occur, or when there is too much data pending, it will take more time.
- The creqs generated will report the user who sent the data first (for a specific file) as the creqer.
- You may dump files currently not in the db. The data is still stored and will be used later if/after the file has been registered.
- Files creqed by the new system will be locked, meaning some fields will not be possible to change. Notify a moderator if you are sure that some of the data locked for a specific file is wrong.
- Not all dumps are sent to the server; Only mkv, ogm, avi, mp4, mov, rm and mpeg dumps from non corrupted files are sent:
- The asf parser does not detect fps.
- Audio files are too few and not considered important atm.
- Nothing useful can be extracted from archives and subtitles (that I can think of).
Why didn't this file get dumped?
- It's not avi/mkv/ogm/mp4/mov/mpg/rm.
- The file in AniDB is registered with wrong size and/or ED2K hash.
- The package did never reach the server.
- The decryption or decompression failed at server side (rare).
- The dump is not valid XML (rare).
Why isn't this file verified?
Even if the file is dumped it doesn't mean it will get autocreqed (and verified). Here are the reasons:
- The file is corrupt/invalid (example).
- The provided data is considered "incoherent". (Indicates a bug in avdump.)
- The dump was marked unfit for file verification by an AniDB Moderator.
- The file type is not included in autocreqing yet (mov/mpg/rm atm).
Ask epoximator if you wonder why a certain file is not verified even if it is dumped.
What's the current status?
Ask Epoximator for the source if interested. You will however not be able to build it on linux unless you're in for some porting. Furthermore, as it requires a bunch of libs, it's not built in 10 sec: zlib, libebml, libmatroska, libogg, libvorbis, ZenLib, MediaInfoLib, ogmtools, MatroskaUtils, Crypto++, libFooID, mpg123, tinyxml, wxWidgets. You should be an experienced (somewhat) C++ programmer before even considering jumping on this bandwagon.
- MKV : libebml, libmatroska, modified MatroskaUtils
- OGM : libogg, libvorbis, modified ogmtools
- MP4 : mediainfo
- AVI : mediainfo + additional parsing code
- Everything else : mediainfo