From a7034580a33f71b141124c853bebe8188a745d59 Mon Sep 17 00:00:00 2001 From: hdsdi3g Date: Sun, 31 Dec 2023 00:53:46 +0100 Subject: [PATCH] Set version 0.0.26 --- README.md | 8 ++++---- THIRD-PARTY.txt | 18 ++++++------------ docs/index.html | 35 +++++++++++++++++++++++++---------- docs/mediadeepa-1.man | 32 ++++++++++++++++++++++++++++---- pom.xml | 2 +- 5 files changed, 64 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index d7df167f..48efd528 100644 --- a/README.md +++ b/README.md @@ -83,19 +83,19 @@ cd mediadeepa mvn install -DskipTests ``` -Build jar will be founded on `target` directory as `mediadeepa-0.0.25.jar` +Build jar will be founded on `target` directory as `mediadeepa-0.0.26.jar` And simply run the application with ```bash -java -jar mediadeepa-0.0.25.jar +java -jar mediadeepa-0.0.26.jar ``` Mediadeepa contain embedded help, displayed with the `-h` parameter. -You can set the command line parameters with `java -jar mediadeepa-0.0.25.jar [parameters]`. +You can set the command line parameters with `java -jar mediadeepa-0.0.26.jar [parameters]`. -> Example: `java -jar mediadeepa-0.0.25.jar -h` +> Example: `java -jar mediadeepa-0.0.26.jar -h`

🛫 Examples

diff --git a/THIRD-PARTY.txt b/THIRD-PARTY.txt index 6db5c8fb..21f4d5fd 100644 --- a/THIRD-PARTY.txt +++ b/THIRD-PARTY.txt @@ -1,5 +1,5 @@ -Lists of 119 third-party dependencies. +Lists of 113 third-party dependencies. (Eclipse Public License - v 1.0) (GNU Lesser General Public License) Logback Classic Module (ch.qos.logback:logback-classic:1.4.8 - http://logback.qos.ch/logback-classic) (Eclipse Public License - v 1.0) (GNU Lesser General Public License) Logback Core Module (ch.qos.logback:logback-core:1.4.8 - http://logback.qos.ch/logback-core) (Apache License, Version 2.0) ClassMate (com.fasterxml:classmate:1.5.1 - https://github.com/FasterXML/java-classmate) @@ -32,8 +32,6 @@ Lists of 119 third-party dependencies. (Apache License 2.0) Jakarta Bean Validation API (jakarta.validation:jakarta.validation-api:3.0.2 - https://beanvalidation.org) (Eclipse Distribution License - v 1.0) Jakarta XML Binding API (jakarta.xml.bind:jakarta.xml.bind-api:4.0.0 - https://github.com/eclipse-ee4j/jaxb-api/jakarta.xml.bind-api) (CDDL/GPLv2+CE) JavaBeans Activation Framework API jar (javax.activation:javax.activation-api:1.2.0 - http://java.net/all/javax.activation-api/) - (CDDL + GPLv2 with classpath exception) javax.annotation API (javax.annotation:javax.annotation-api:1.2 - http://jcp.org/en/jsr/detail?id=250) - (Apache License, Version 2.0) CDI APIs (javax.enterprise:cdi-api:1.2 - http://cdi-spec.org) (CDDL 1.1) (GPL2 w/ CPE) jaxb-api (javax.xml.bind:jaxb-api:2.3.1 - https://github.com/javaee/jaxb-spec/jaxb-api) (Apache License, Version 2.0) Byte Buddy (without dependencies) (net.bytebuddy:byte-buddy:1.14.5 - https://bytebuddy.net/byte-buddy) (Apache License, Version 2.0) Byte Buddy agent (net.bytebuddy:byte-buddy-agent:1.14.5 - https://bytebuddy.net/byte-buddy-agent) @@ -48,11 +46,11 @@ Lists of 119 third-party dependencies. (Apache License, Version 2.0) Apache Commons Text (org.apache.commons:commons-text:1.10.0 - https://commons.apache.org/proper/commons-text) (Apache License, Version 2.0) Apache Log4j API (org.apache.logging.log4j:log4j-api:2.20.0 - https://logging.apache.org/log4j/2.x/log4j-api/) (Apache License, Version 2.0) Apache Log4j to SLF4J Adapter (org.apache.logging.log4j:log4j-to-slf4j:2.20.0 - https://logging.apache.org/log4j/2.x/log4j-to-slf4j/) - (Apache-2.0) Maven 4 API :: Meta annotations (org.apache.maven:maven-api-meta:4.0.0-alpha-9 - https://maven.apache.org/ref/4.0.0-alpha-9/api/maven-api-meta/) - (Apache-2.0) Maven 4 API :: Model (org.apache.maven:maven-api-model:4.0.0-alpha-9 - https://maven.apache.org/ref/4.0.0-alpha-9/api/maven-api-model/) - (Apache-2.0) Maven 4 API :: XML (org.apache.maven:maven-api-xml:4.0.0-alpha-9 - https://maven.apache.org/ref/4.0.0-alpha-9/api/maven-api-xml/) - (Apache-2.0) Maven Model (org.apache.maven:maven-model:4.0.0-alpha-9 - https://maven.apache.org/ref/4.0.0-alpha-9/maven-model/) - (Apache-2.0) Implementation of Maven API XML (org.apache.maven:maven-xml-impl:4.0.0-alpha-9 - https://maven.apache.org/ref/4.0.0-alpha-9/maven-xml-impl/) + (Apache-2.0) Maven 4 API :: Meta annotations (org.apache.maven:maven-api-meta:4.0.0-alpha-10 - https://maven.apache.org/ref/4.0.0-alpha-10/api/maven-api-meta/) + (Apache-2.0) Maven 4 API :: Model (org.apache.maven:maven-api-model:4.0.0-alpha-10 - https://maven.apache.org/ref/4.0.0-alpha-10/api/maven-api-model/) + (Apache-2.0) Maven 4 API :: XML (org.apache.maven:maven-api-xml:4.0.0-alpha-10 - https://maven.apache.org/ref/4.0.0-alpha-10/api/maven-api-xml/) + (Apache-2.0) Maven Model (org.apache.maven:maven-model:4.0.0-alpha-10 - https://maven.apache.org/ref/4.0.0-alpha-10/maven-model/) + (Apache-2.0) Implementation of Maven API XML (org.apache.maven:maven-xml-impl:4.0.0-alpha-10 - https://maven.apache.org/ref/4.0.0-alpha-10/maven-xml-impl/) (Apache License, Version 2.0) Apache Maven Invoker (org.apache.maven.shared:maven-invoker:3.2.0 - https://maven.apache.org/shared/maven-invoker/) (Apache License, Version 2.0) Apache Maven Shared Utils (org.apache.maven.shared:maven-shared-utils:3.3.4 - https://maven.apache.org/shared/maven-shared-utils/) (Apache License, Version 2.0) Apache POI - Common (org.apache.poi:poi:5.2.3 - https://poi.apache.org/) @@ -62,14 +60,10 @@ Lists of 119 third-party dependencies. (The Apache Software License, Version 2.0) XmlBeans (org.apache.xmlbeans:xmlbeans:5.1.1 - https://xmlbeans.apache.org/) (The Apache License, Version 2.0) org.apiguardian:apiguardian-api (org.apiguardian:apiguardian-api:1.1.2 - https://github.com/apiguardian-team/apiguardian) (Apache License, Version 2.0) AssertJ Core (org.assertj:assertj-core:3.24.2 - https://assertj.github.io/doc/#assertj-core) - (Apache License, Version 2.0) Plexus Classworlds (org.codehaus.plexus:plexus-classworlds:2.6.0 - http://codehaus-plexus.github.io/plexus-classworlds/) - (Apache License, Version 2.0) Plexus :: Component Annotations (org.codehaus.plexus:plexus-component-annotations:2.1.0 - http://codehaus-plexus.github.io/plexus-containers/plexus-component-annotations/) (Apache License, Version 2.0) Plexus XML Utilities (org.codehaus.plexus:plexus-xml:4.0.1 - https://codehaus-plexus.github.io/plexus-xml/) (The BSD License) Stax2 API (org.codehaus.woodstox:stax2-api:4.2.1 - http://github.com/FasterXML/stax2-api) (BSD 2-Clause License) commonmark-java core (org.commonmark:commonmark:0.21.0 - https://github.com/commonmark/commonmark-java/commonmark) (Eclipse Public License - v 2.0) Java Development Tools Core (org.eclipse.jdt:org.eclipse.jdt.core:3.32.0 - https://projects.eclipse.org/projects/eclipse.jdt) - (Eclipse Public License, Version 1.0) org.eclipse.sisu.inject (org.eclipse.sisu:org.eclipse.sisu.inject:0.9.0.M2 - http://www.eclipse.org/sisu/org.eclipse.sisu.inject/) - (Eclipse Public License, Version 1.0) org.eclipse.sisu.plexus (org.eclipse.sisu:org.eclipse.sisu.plexus:0.9.0.M2 - http://www.eclipse.org/sisu/org.eclipse.sisu.plexus/) (Eclipse Distribution License - v 1.0) JAXB Runtime (org.glassfish.jaxb:jaxb-runtime:2.3.8 - https://eclipse-ee4j.github.io/jaxb-ri/) (Eclipse Distribution License - v 1.0) TXW2 Runtime (org.glassfish.jaxb:txw2:4.0.3 - https://eclipse-ee4j.github.io/jaxb-ri/) (BSD License 3) Hamcrest (org.hamcrest:hamcrest:2.2 - http://hamcrest.org/JavaHamcrest/) diff --git a/docs/index.html b/docs/index.html index 5c14f929..7aa41b8a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -22,7 +22,7 @@ Mediadeepa project documentation page

About Mediadeepa

Audio/video medias and streams deep analyzer in Java with FFmpeg as back-end: extract/process technical information from audio/videos files/streams.

This application is currently in alpha version, and should not be ready for production

-

This document contain the full documentation for Mediadeepa version 0.0.25.

+

This document contain the full documentation for Mediadeepa version 0.0.26.

This application will run FFmpeg on a source video/audio file to apply some filters, and generate analysis raw data (mostly high verbosely text/XML streams). They are parsed and reduced/converted/drawn/summarized them to some output formats by Mediadeepa.

Mediadeepa is a command line standalone application (no GUI, no specific setup).

@@ -90,14 +90,14 @@

Current available export formats

cd mediadeepa mvn install -DskipTests -

Build jar will be founded on target directory as mediadeepa-0.0.25.jar

+

Build jar will be founded on target directory as mediadeepa-0.0.26.jar

And simply run the application with

-
java -jar mediadeepa-0.0.25.jar
+
java -jar mediadeepa-0.0.26.jar
 

Mediadeepa contain embedded help, displayed with the -h parameter.

-

You can set the command line parameters with java -jar mediadeepa-0.0.25.jar [parameters].

+

You can set the command line parameters with java -jar mediadeepa-0.0.26.jar [parameters].

-

Example: java -jar mediadeepa-0.0.25.jar -h

+

Example: java -jar mediadeepa-0.0.26.jar -h

Examples

Process to export

Export to the current directory the analysis report for the file videofile.mov:

mediadeepa -i videofile.mov -f report -e .
@@ -231,7 +231,9 @@ 

Directly on command line

Available options

You can refer to this full list:

-
mediadeepa.ffprobexml-file-name=ffprobe.xml    # String
+
mediadeepa.ffmpeg-exec-name=ffmpeg    # String
+mediadeepa.ffprobe-exec-name=ffprobe    # String
+mediadeepa.ffprobexml-file-name=ffprobe.xml    # String
 mediadeepa.graphic-config.a-bitrate-graphic-filename=audio-bitrate.png    # String
 mediadeepa.graphic-config.a-phase-graphic-filename=audio-phase.png    # String
 mediadeepa.graphic-config.block-graphic-filename=video-block.png    # String
@@ -279,6 +281,19 @@ 

Logging

To inject a new logback configuration file, add in application command line:

-Dlogging.config="path/to/new/logback.xml"
 
+

Search path binaries

+

Mediadeepa can search on several paths to found ffmpeg/ffmpeg.exe and ffprobe/ffprobe.exe (sorted by search order):

+
    +
  • directly declared on command line by -Dexecfinder.searchdir=c:\path1;c:\path2\subpath on Windows or -Dexecfinder.searchdir=/path1:/path2/subpath on Posix
  • +
  • on $HOME directory
  • +
  • on $HOME/bin directory, if exists
  • +
  • on $HOME/App/bin directory, if exists
  • +
  • on any classpath directory declared, if exists
  • +
  • on the global PATH environment variable
  • +
+

Either on Linux/Posix and Windows.

+

You can inject other binary names (other than ffmpeg/ffprobe) with: mediadeepa.ffmpegExecName and mediadeepa.ffprobeExecName configuration keys. .exe on Windows will be added/removed as needed by the application.

+

In summary, if FFmpeg/FFprobe is runnable from anywhere on your host (PATH), you'll have nothing to do.

Application return

The application can produce several files, but return mostly processing status and log messages.

Return codes

@@ -315,20 +330,20 @@

Road-map

Auto-generated documentation

Bash-completion

The application provide a dynamic bash-completion script generated by:

-
java -jar target/mediadeepa-0.0.25.jar --autocomplete
+
java -jar target/mediadeepa-0.0.26.jar --autocomplete
 

Man page

An auto-generated man page can be produced by an internal option:

-
java -Dexportdocumentation.manpage="/full/path/to/file.man" -jar target/mediadeepa-0.0.25.jar
+
java -Dexportdocumentation.manpage="/full/path/to/file.man" -jar target/mediadeepa-0.0.26.jar
 

README page

Auto-generated by Mediadeepa, like the man page, and can be produced by the internal option:

-
java -Dexportdocumentation.readme="README.md" -jar target/mediadeepa-0.0.25.jar
+
java -Dexportdocumentation.readme="README.md" -jar target/mediadeepa-0.0.26.jar
 

All source text for documentation is either auto-generated by the internal application options and static markdown files in the src/main/resources/doc/en directory.

Project web page

Auto-generated by Mediadeepa, like the man and README pages, and can be produced by the internal option:

-
java -Dexportdocumentation.website="docs/index.html" -jar target/mediadeepa-0.0.25.jar
+
java -Dexportdocumentation.website="docs/index.html" -jar target/mediadeepa-0.0.26.jar
 

Same method to generate this file, like README/man files does.

Acknowledgments

Mediadeepa would never have been possible without the help of these magnificent and amazing OSS projects:

    diff --git a/docs/mediadeepa-1.man b/docs/mediadeepa-1.man index 5977d704..a42f3fd8 100644 --- a/docs/mediadeepa-1.man +++ b/docs/mediadeepa-1.man @@ -2,10 +2,10 @@ .\" Title: mediadeepa .\" Author: Media ex Machina / hdsdi3g .\" Generator: mediadeepa -.\" Date: 12/18/2023 -.\" Source: mediadeepa 0.0.25 +.\" Date: 12/31/2023 +.\" Source: mediadeepa 0.0.26 .\" Language: English -.TH "MEDIADEEPA" "1" "12/18/2023" "mediadeepa 0\&.0\&.25" "" +.TH "MEDIADEEPA" "1" "12/31/2023" "mediadeepa 0\&.0\&.26" "" .\" ----------------------------------------------------------------- .ie \n(.g .ds Aq \(aq .el .ds Aq ' @@ -504,6 +504,30 @@ To inject a new logback configuration file, add in application command line: .RE .PP +Search path binaries +Mediadeepa can search on several paths to found \fBffmpeg\fR/\fBffmpeg\&.exe\fR and \fBffprobe\fR/\fBffprobe\&.exe\fR (sorted by search order): +.PP +.RS 4 +\- directly declared on command line by \fB\-Dexecfinder\&.searchdir=c:\\path1;c:\\path2\\subpath\fR on Windows or \fB\-Dexecfinder\&.searchdir=/path1:/path2/subpath\fR on Posix +.PP +\- on \fB$HOME\fR directory +.PP +\- on \fB$HOME/bin\fR directory, if exists +.PP +\- on \fB$HOME/App/bin\fR directory, if exists +.PP +\- on any classpath directory declared, if exists +.PP +\- on the global \fBPATH\fR environment variable +.PP +.RE +Either on Linux/Posix and Windows\&. +.PP +You can inject other binary names (other than \fBffmpeg\fR/\fBffprobe\fR) with: \fBmediadeepa\&.ffmpegExecName\fR and \fBmediadeepa\&.ffprobeExecName\fR configuration keys\&. \fB\&.exe\fR on Windows will be added/removed as needed by the application\&. +.PP +In summary, if FFmpeg/FFprobe is runnable from anywhere on your host (\fBPATH\fR), you'll have nothing to do\&. +.PP + .SH "EXIT STATUS" 0 .RS 4 @@ -543,7 +567,7 @@ Send bug reports on GitHub project page \fIhttps://github\&.com/mediaexmachina/m If you have any questions, feel free to reach out via any contact method listed on https://mexm\&.media \fIhttps://mexm\&.media\fR\&. .PP -Mediadeepa 0\&.0\&.25 +Mediadeepa 0\&.0\&.26 .PP Copyright (C) 2022\-2023 Media ex Machina, under the GNU General Public License\&. .PP diff --git a/pom.xml b/pom.xml index c86a6faf..b855ff27 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ media.mexm mediadeepa jar - 0.0.26-SNAPSHOT + 0.0.26 MediaDeepA https://github.com/mediaexmachina/mediadeepa