Avdump3: Difference between revisions

From AniDB
Jump to navigation Jump to search
Line 130: Line 130:
|}
|}


'''NameSpace''': FileMove '''–Test'''
'''NameSpace''': FileMove


'''–LogPath'''
{| class="wikitable"
 
|-
'''–Mode'''
! Parameter
 
! Shorthand
'''–Pattern'''
! Description
 
! Usage
Available Placeholders ${Name}: FullName, FileName, FileExtension, FileNameWithoutExtension, DirectoryName, SuggestedExtension, Hash-<Name>-&lt;2|4|8|10|16|32|32Hex|32Z|36|62|64&gt;-&lt;OC|UC|LC&gt;
! Default Value
 
|-
'''–DisableFileMove'''
| --Test
 
|
'''–DisableFileRename'''
|
 
|
'''–Replacements'''
| False
|-
| --LogPath
|
|
| --FileMove.LogPath=<FilePath>
|
|-
| --Mode
|
|
| --FileMove.Mode=<None|PlaceholderInline|PlaceholderFile|CSharpScriptInline|CSharpScriptFile|DotNetAssembly>
|
|-
| --Pattern
|
| Available Placeholders ${Name}:<br &/>FullName, FileName, FileExtension, FileNameWithoutExtension, DirectoryName, SuggestedExtension,<br /><nowiki>Hash-<Name>-<2|4|8|10|16|32|32Hex|32Z|36|62|64>-<OC|UC|LC></nowiki>
| --FileMove.Pattern=${DirectoryName}\${FileNameWithoutExtension}${SuggestedExtension} (${DirectoryName}\${FileNameWithoutExtension}${FileExtension})
|
|-
| --DisableFileMove
|
|
| --FileMove.DisableFileMove
| False
|-
| --DisableFileRename
|
|
| --FileMove.DisableFileRename
| False
|-
| --Replacements
|
|
| --FileMove.Replacements=<Match1>=<Replacement1>[;<Match2>=<Replacement2>...]
|
|}


'''NameSpace''': Reporting  
'''NameSpace''': Reporting  


'''–PrintHashes'''
{| class="wikitable"
 
|-
Print calculated hashes in hexadecimal format to console
! Parameter
 
! Shorthand
'''–PrintReports'''
! Description
 
! Usage
Print generated reports to console
! Default Value
 
|-
'''–Reports'''
| --PrintHashes
 
|
Select reports to use. Use without arguments to list available reports
| Print calculated hashes in hexadecimal format to console
 
| --PrintHashes
'''–ReportDirectory, –RDir'''
| False
 
|-
Reports will be saved to the specified directory
| --PrintReports
 
|
'''–ReportFileName'''
| Print generated reports to console
 
| --PrintReports
Reports will be saved/appended to the specified filename The following placeholders ${Name} can be used: FileName, FileNameWithoutExtension, FileExtension, ReportName, ReportFileExtension
| False
 
|-
'''–ExtensionDifferencePath, –EDPath'''
| --Reports
 
|
Logs the filepath if the detected extension does not match the actual extension
| Select reports to use. Use without arguments to list available reports
 
| --Reports
'''–CRC32Error'''
|
 
|-
Searches the filename for the calculated CRC32 hash. If not present or different a line with the caluclated hash and the full path of the file is appended to the specified path The regex pattern should contain the placeholder ${CRC32} which is replaced by the calculated hash prior matching. Consumer CRC32 will be force enabled!
| --ReportDirectory
| --RDir
| Reports will be saved to the specified directory
| --ReportDirectory=<Directory>
|
|-
| --ReportFileName
|
| Reports will be saved/appended to the specified filename<br />The following placeholders ${Name} can be used: FileName, FileNameWithoutExtension, FileExtension, ReportName, ReportFileExtension
| --ReportFileName=<FileName>
| ${FileName}.${ReportName}.${ReportFileExtension}
|-
| --ExtensionDifferencePath
| --EDPath
| Logs the filepath if the detected extension does not match the actual extension
| --EDPath=extdiff.txt
|
|-
| --CRC32Error
|
| Searches the filename for the calculated CRC32 hash. If not present or different a line with the caluclated hash and the full path of the file is appended to the specified path<br />The regex pattern should contain the placeholder ${CRC32} which is replaced by the calculated hash prior matching.<br />Consumer CRC32 will be force enabled!
| --CRC32Error=<Filepath>:<RegexPattern>
| (, (?i)${CRC32})
|}


'''NameSpace''': Diagnostics  
'''NameSpace''': Diagnostics  

Revision as of 08:07, 9 August 2020

AVDump is a tool to extract meta information from media files while at the same time calculating multiple hashes. Based on that information reports can be generated in multiple forms. Of particular interest is the ability to send those reports back to AniDB and thereby quickly filling in missing metadata for new files.

Quickstart

Since you’re here you probably just want to send AVMF Packages (or Dumps) to AniDB which will add metadata to previously (or soon to be) added files. If that doesn’t mean anything to you, you probably want to start with https://wiki.anidb.net/Content:Files and https://wiki.anidb.net/Auto-creqing and https://wiki.anidb.net/Tutorial:How_to_Add_Files_for_Dummies

Anyway lets keep this short:
1. Login into AniDB with your account and visit https://anidb.net/user/setting, there goto the Account tab and set a password for “UDP API Key”
2. Make sure Net Core 3.1 or higher is installed
3. Download the latest Version of AVD3 with the link in the section below and extract it somewhere.
4. Start a terminal and navigate to AVDump3
5. Use the following arguments as the bare minimum
5.1. Windows: AVDump3CL.exe --Auth=<YourUserName>:<YourUdpApiPassword> <APathToTheFiles>
5.2. Linux: dotnet AVDump3CL.dll --Auth=<YourUserName>:<YourUdpApiPassword> <APathToTheFiles>

Download

DOWNLOAD(ZIP) (Build 8134) MD5 = xxx

What’s new compared to AVD2?

AVD3 is a complete rewrite of AVD2 which uses .NET Core instead of .NET Framework and treats Linux as a first class citizen. So it should run on Linux just as well as on Windows. To name a few other big differences:

  • Can process multiple files in parallel
  • Uses native code to speed up hashing significantly
  • More efficient reading
  • Can move/rename files based on scripts
  • More hash algorithms
  • Latest version of MediaInfoLib (MIL) is being used (currently 20.03)
  • Support for 32bit has been dropped
  • Support for MacOS is not yet available (To add support https://github.com/DvdKhl/AVDump3/blob/master/AVDump3NativeLib/src/AVD3MirrorBuffer.c needs to be implemented, help would be appreciated)

Arguments

For more detailed information please run AVD3 with --Help!

NameSpace: FileDiscovery

Parameter Shorthand Description Usage Default Value
--Recursive -R Recursively descent into Subdirectories --Recursive False
--ProcessedLogPath --PLPath Appends the full filepath to the specified path --ProcessedLogPath=<FilePath1>[:<FilePath2>...]
--SkipLogPath --SLPath Filepaths contained in the specified file will not be processed --SkipLogPath=<FilePath1>[:<FilePath2>...]
--DoneLogPath --DLPath Will set --SkipLogPath and --ProcessedLogPath to the specified filepath --DoneLogPath=<Filepath>
--WithExtensions --WExts Only/Don't Process files with selected Extensions --WithExtensions=[-]<Extension1>[,<Extension2>...]
--Concurrent --Conc Sets the maximal number of files which will be processed concurrently. First param (max) sets a global limit. (path,max) pairs sets limits per path. --Concurrent=<max>[:<path1>,<max1>;<path2>,<max2>...] 1

NameSpace: Processing

Parameter Shorthand Description Usage Default Value
--ProducerMinReadLength 1
--ProducerMaxReadLength 8
--PrintAvailableSIMDs False
--PauseBeforeExit --PBExit Pause console before exiting --PauseBeforeExit False
--BufferLength --BLength Circular buffer size for hashing --BufferLength=<Size in MiB> 64
--Consumers --Cons Select consumers to use. Use without arguments to list available consumers --Consumers=<ConsumerName1>[,<ConsumerName2>...]

NameSpace: FileMove

Parameter Shorthand Description Usage Default Value
--Test False
--LogPath --FileMove.LogPath=<FilePath>
--Mode PlaceholderInline|PlaceholderFile|CSharpScriptInline|CSharpScriptFile|DotNetAssembly>
--Pattern Available Placeholders ${Name}:
FullName, FileName, FileExtension, FileNameWithoutExtension, DirectoryName, SuggestedExtension,
Hash-<Name>-<2|4|8|10|16|32|32Hex|32Z|36|62|64>-<OC|UC|LC>
--FileMove.Pattern=${DirectoryName}\${FileNameWithoutExtension}${SuggestedExtension} (${DirectoryName}\${FileNameWithoutExtension}${FileExtension})
--DisableFileMove --FileMove.DisableFileMove False
--DisableFileRename --FileMove.DisableFileRename False
--Replacements --FileMove.Replacements=<Match1>=<Replacement1>[;<Match2>=<Replacement2>...]

NameSpace: Reporting

Parameter Shorthand Description Usage Default Value
--PrintHashes Print calculated hashes in hexadecimal format to console --PrintHashes False
--PrintReports Print generated reports to console --PrintReports False
--Reports Select reports to use. Use without arguments to list available reports --Reports
--ReportDirectory --RDir Reports will be saved to the specified directory --ReportDirectory=<Directory>
--ReportFileName Reports will be saved/appended to the specified filename
The following placeholders ${Name} can be used: FileName, FileNameWithoutExtension, FileExtension, ReportName, ReportFileExtension
--ReportFileName=<FileName> ${FileName}.${ReportName}.${ReportFileExtension}
--ExtensionDifferencePath --EDPath Logs the filepath if the detected extension does not match the actual extension --EDPath=extdiff.txt
--CRC32Error Searches the filename for the calculated CRC32 hash. If not present or different a line with the caluclated hash and the full path of the file is appended to the specified path
The regex pattern should contain the placeholder ${CRC32} which is replaced by the calculated hash prior matching.
Consumer CRC32 will be force enabled!
--CRC32Error=<Filepath>:<RegexPattern> (, (?i)${CRC32})

NameSpace: Diagnostics

–SaveErrors

Errors occuring during program execution will be saved to disk

–SkipEnvironmentElement

Skip the environment element in error files

–IncludePersonalData

Various places may include personal data. Currently this only affects error files, which will then include the full filepath

–PrintDiscoveredFiles

–ErrorDirectory

If –SaveErrors is specified the error files will be placed in the specified path

–NullStreamTest

Use Memory as the DataSource for HashSpeed testing. Overrides any FileDiscovery Settings!

NameSpace: Display

–HideBuffers

Hides buffer bars

–HideFileProgress

Hides file progress

–HideTotalProgress

Hides total progress

–ShowDisplayJitter

Displays the time taken to calculate progression stats and drawing to console

–ForwardConsoleCursorOnly

The cursor position of the console will not be explicitly set. This option will disable most progress output

NameSpace: AniDBAvmf

–LocalPort, –LPort

Local UDP port used for ACReqing

–ACreqErrorPath

–Authentication, –Auth

Enables ACReqing when valid credentials are provided Visit https://anidb.net/user/setting (Account Tab) to set the api key

–HostEndPoint, –Host

Change endpoint of AniDB UDP API server AddressFamily: Can be 4=IPv4, 6=IPv6 or U=Unspecified

–Timeout, –TOut

Sets the retry count and the timeout before resending the dump

NameSpace: AniDBMisc –UploadErrors

Enables the automatic upload of program errors

–Ed2kLogPath

Development

Source code for the Core project can be found at GitHub: https://github.com/DvdKhl/AVDump3

The source code for the AniDB Module is not available to the public.