Avdump: Difference between revisions

From AniDB
Jump to navigation Jump to search
Line 137: Line 137:
* The file in AniDB is registered with wrong size and/or ED2K hash.
* The file in AniDB is registered with wrong size and/or ED2K hash.
* The file in AniDB '''was''' registed with wrong size and/or ED2K hash at some point (including lame files).
* The file in AniDB '''was''' registed with wrong size and/or ED2K hash at some point (including lame files).
* The file is larger than 2 GB (ie. wrong size).
* The package did never reach the server.
* The package did never reach the server.
* The decryption or decompression failed at server side (rare).
* The decryption or decompression failed at server side (rare).

Revision as of 19:19, 12 May 2007

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. Furthermore it will become part of the upcoming AOM 0.6 allowing to autocreq all the generated informations.

Supported formats

  • avi, mkv, ogm, mp4, asf/wmv, mpg, rm, mov

Known issues

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.
  • Not full parsing of mp4/mpg/mov/rm/asf/etc.
  • Avdump is only for Windows at the moment. It works via Wine though.
  • More...

Download

Get your copy of avdump HERE! Old versions are here.

Usage

Avdump is a simple commandline client and as that is to be used in the dosbox:

avdump [-ext:<extensions>] [-log:<log file>] <media file/folder> [<media file/folder> ...]

Options: (one letter switches can be put in one string)
Input: (all requires :)
   ext      comma separated extension list
   log      write output to file
   exp      export ed2k-links to file
   ac       autocreq: '-ac:<username>:<apipass>'
   port     udp port used by ac
   done     save processed-file-paths to file and exlude existing from proc
   bsize    buffer size for hashing in KB (2048 is default)
   tout     timeout: '-tout:<seconds>:<number of retries>'
 Output: (exclusive)
   s        Short (creq friendly)
   l        List (codecs)
   x        XML Old format
   y        XML Creq format
 Control:
   c        do _not_ reCurse into subfolders
   i        skIp full parsing (only for testing)
   m        Monitor folder(s)
   n        add extra Newline after each file
   p        Pause when done (hold cmd window)
   q        pause after each file
   r        Random file order
   t        print Time used for each file
   z        delete files after parsing
   o        wait for respOnse when sending dumps and retry on timeout
 Hash:
   0        crc32
   1        ed2k
   2        md5
   3        sha1
   5        tth
   6        aich
   9        mp3 w/o metadata (test)
   a        All hash algorithms
   h        Hash mode (no a/v parsing)
   e        print Ed2k link
   d        print aniDb link
   g        print and Goto anidb link
   u        print time Used

Alternative way of usage

  • Extract to a folder of choice
  • Right-click avdump.exe, select "Create Shortcut"
  • Right-click the shortcut, add " -p" to the "Shortcut - Target" line
Example: "C:\program files\Codecs\avdump\avdump.exe" -p
Optional: Change "Run" to "Maximized"
you can also set other options like s, x or t if you wish to do so.
  • Move shortcut to C:\Documents and Settings\[Username]\SendTo
[Username] is your WinXP LogIn-Name
SendTo is a hidden folder
  • Right-click any media-file, goto "Send To", choose avdump (or whatever you called the shortcut)
  • Be happy :D
  • Get CReqing

(thanks to taxit for this tip)

Processing DVD's

For processing DVD's it's best to set a small blocksize. Helps to improve performance.

something like

-bsize:256

(default is 2048)

Graphical interface

A simple GUI can be downloaded from here: Avdump Gui v1.00 This package includes the recent version of avdump as well.

Because I'm a lazy bitch this is the idiot free version. So hence when you set bs the app won't tell you about it. A not or wrong set username/password combo will just do nothing. Furthermore i'm not handling any sort of bs regarding entering letters where numbers are expected. I'm just hoping the average user won't be too retarded to get the obvious.

Usage

  1. set your anidb username and UDP password in the options menu, which you can set in your profile in anidb
  2. Save the options
  3. select what you want to scan from the mainmenu (folders or files)
  4. select the stuff you want to scan (... Button) (you can select multiple files at once)
  5. start

For further Assistance join #anidb on irc.zirc.org and bug Der Idiot

TODO (maybe)

  • display errors and don't silently ignore them
  • handle bs entered in places where you shouldn't

Sourcecode

This gui was coded purely in python using wxpython for the framework. Sorucecode can be obtained from here

Autocreqing

Simple diagram of the way autocreqing with avdump works

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 is added. It might also be used for machine assisted file adding at some point.
  • 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 file in AniDB was registed with wrong size and/or ED2K hash at some point (including lame files).
  • The package did never reach the server.
  • The decryption or decompression failed at server side (rare).
  • The dump is not valid XML (rare).

The only way for regular users to check whether a file is dumped or not is to use the mylist report Files with no dump [1] or ask epoximator.

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 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?

Look here.

Source

Ask Epoximator for the source if interested.

Based on

Changelog

0.31 : 070225 - importance: low
 - Fixed batch abort when parser fails to recognize a file.
 - Fixed <lib> for some mpg files (95446).
 - Fixed <lib> for one avi file (199976).
 - Added mp3-ignore-metadata hash (test).
 - Updated avmf dump protocol.
0.30 : 070123 - importance: high
 - Added option '-done:' for keeping track of already processed files.
 - Added speed calculation for hashing.
 - Added timeout (30 sec) and retry (6 times) for session refresh (-tout).
 - Added option for hashing buffer size.
 - Added monitor (-m) option. Re-check folder(s) every minute.
 - Added delete (-z) option.
 - Added timestamp to -t switch.
 - Added option to not recurse into subfolders (-c).
 - Fixed crash on 222427, 29542, 14303.
 - Fixed 'stream not found' for some avi files.
 - Fixed tth crash for 0 byte files.
 - Fixed skipping of files with names starting with dot.
0.29 : 070113 - importance: high
 - Autocreq
 - Ed2k export to file (-exp:<file>).
 - Various forgotten fixes and changes.
0.28 : 061123 - importance: test version
 - Fixed broken duration for vorbis in ogm (was 0).
 - Fixed broken language detection.
 - Fixed/removed default track flag in ogm.
 - Changes in the switches: y = XML2+autocreq, c = autocreq.
 - Added SBR detection for AAC in mp4.
 - Added x264 settings string to XML2 for mkv.
 - New mediainfo.
0.27 : 060927 - importance: low
 - WARNING:
   * This is an experimental version for a new autocreq system.
   * Due major internal changes it's likely to be borked.
   * Only upgrade if you want to help testing; use -c.
   * No actual creq will be filed, but data are gathered.
 - Improved/fixed ogm and avi track size calculation.
   - Error was less than ~30 KB for a normal file.
 - Fixed samplerate=0 when audio not vorbis and added PCM recognition in ogm parser.
 - Fixed wrong AR printed when > 1.70.
 - Fixed missing zeros at beginning in crc32 checksums.
0.26 : 060912 - importance: low
 - Changes in the xml mode; formatted time and exact channels value.
 - Added option to skip parsing altogether (hash only mode).
 - Added switch '-ext:{comma separated file extension list}'.
 - Changes in the arguments. See usage.
0.25 : 060907
 - Added md5 hash.
 - Added ed2k link output.
 - Changes in the arguments. See usage.
 - Fixed extension check (case).
0.24 : 060902
 - Added 5.1 audio bitrate test; if under 100 kbps then print warning.
 - Added Matroska attachment support; used when checking overhead.
 - Added hashing; crc, ed2k, sha1, tth and aich.
0.23 : 060817
 - Changed: log file is now utf8.
 - Fixed video vs audio duration issue with non mkv/ogm files. (fid: 252353)
0.22 : 060806
 - Fixed unicode-in-file-name issue.
 - Added VFR test for mp4 files.
 - Added switch 'c': pause after each file.
 - Changes in AR rages and removed 'Wrong AR'.
 - Minor fixes and changes.
0.21 : 060726
 - Fixed codec detection in private frame (user data).
 - Added switches 'a' (avi), 'm' (mkv), 'o' (ogm), and 'f' (mp4): Only parse these types.
 - Added switch 'l': list mode ({file path/name}\t{track #1 codec}\t...\t{track #n codec}).
 - Added switch 'i': skip full parsing (mkv/ogm/avi). Only for testing. Do _not_ use when creqing.
0.20 : 060717
 - Added return code in xml mode and more warnings in the other modes.
 - Fixed mp4 parser; audio track sizes.
 - Fixed mkv crash on corrupt files (fid: 216911).
 - Fixed wrong track duration on mkv files where the first timecode is not 0 (fid: 234960).
0.19 : 060711
 - Fixed rm parser.
 - Fixed mpeg parser, video bitrate.
 - Minor stuff.
 - Short format does _now_ print video duration.
 - Improved the mp3 vbr test. (fid: 240676)
0.18 : 060624
 - MP4 fixes: sub tracks, track lang, missing chan/srate.
 - Updated MediaInfoLib (latest cvs).
 - Minor changes in normal output format (duration and size).
 - Short format does now print video duration (ie. not header value).
0.17 : 060602
 - Added extension check.
 - Changes xml output.
 - Fixed memory leak when parsing mp4.
0.16 : 060529
 - Fixed some RIFF bugs.
 - Fixed randomizor bug.
 - Updated anidb codec identifiers.
 - Added jni.
 - Changes in xml and short mode.
0.15 : 060518
 - Updated libebml, libogg, libvorbis.
 - Added switch 'r': random file order.
 - Added switch 'n': extra newline per file.
 - Changes in 'short' output mode.
 - Track numbering starts on 1 now.
 - Changes in ar detection, see: http://wiki.anidb.info/w/Avdump/AR
 - Fixed: Track sizes might be slightly wrong for OpenDML files.
 - Packed exe and dll (UPX 2.00w).
0.14 : 060514
 - Added anidb AR, flags and chan str to normal output.
 - Added new output mode: short (-s).
 - Added switch -t: show proc time (per file).
 - Fixed high mem usage bug on some file formats.
 - Fixed access violation on files with very many tracks.
 - Added track names (mkv only).
 - Added version in output.
 - Some tweaking of output format.
0.13 : 060511
 - Fixed wrong track durations for some mkv files.
 - Added anidb channel id (only in xml).
0.12 : 060510
 - Improved VFR check.
 - Added anidb video flags (only in xml).
0.11 : 060509
 - Added anidb codec id for ogm (and fixed a minor issue for some mkv files).
 - Added simple VFR check for mkv files.
0.10 : 060501
 - Added MP3 VBR check on avi and mkv files (variable frame size check).
 - Added xml output (-x).
 - Added anidb codec id, and some checking on fourcc vs user data.
 - Added anidb lang and ar id (only printed in xml mode).
 - Fixed some issues with mp4, rm and mpg files.
0.09 : 060401
 - Fixed track size for all non mkv/ogm/avi/mp4.
 - Changes in the output format.
0.08 : 060330
 - Exe is now unicode.
 - Fixed wrong output for avi files with multiple audio tracks.
 - Added better track size calc for avi files. (first try)
 - Added track duration.
0.07 : 060314
 - Fixed broken ogm parsing (language).
0.06 : 060305
 - Fixed wrong duration for some mkv files.
 - Fixed wrong track size for some mkv files.
0.05 : 060221
 - Improved USER data check.
 - Killed some memory leaks.
0.04 : 060217
 - Fixed 'AAC in OGM' crash.
 - Added check for USER data in mkvs and ogms.
 - Cleaned codec output for mkvs.
 - Added some filecomment output.