Added support for .VOB files

This commit is contained in:
Fabrice Quenneville 2021-02-19 03:02:11 -05:00
parent dd893e4a12
commit fb5e5cc8ea
18 changed files with 340 additions and 19 deletions

23
TODO.md Normal file
View File

@ -0,0 +1,23 @@
TO-DO
=====
Project
-------
* More filters
* Test AV1 Support
* Prepare API for GUI
* Make unittests for all methods/functions
* Add priorities ?
* Add config option
* Add service
* Make proper raises
* Document usable modules / imports
Modules
-------
* Add notes to every method/function/class
* revisit all models for Instance, Class, and Staticness
*
*
*

View File

@ -30,6 +30,7 @@ The source code can be found on `GitHub <https://github.com/fabquenneville/Media
:maxdepth: 1 :maxdepth: 1
:caption: Release Notes: :caption: Release Notes:
releasenotes/0.0.5-changelog
releasenotes/0.0.4-changelog releasenotes/0.0.4-changelog
releasenotes/0.0.1-changelog releasenotes/0.0.1-changelog

View File

@ -0,0 +1,57 @@
================================
MediaCurator 0.0.5 Release Notes
================================
Highlights
==========
Bugs fixes:
* Fixed bug with class values
Dropped Support
===============
Future Changes
==============
* More filters
* Test AV1 Support
* Prepare API for GUI
Compatibility notes
===================
Python Support
--------------
Mediacurator has been tested on Python 3.7 - 3.9
FFMPEG Support
--------------
Mediacurator has been tested to work with FFMPEG versions ranging from 4.1.6 to 4.3.1
OS Support
----------
Mediacurator has been tested to work on various GNU/Linux distribution as well as Windows
New Features
============
Improvements
============
Changes
=======
Deprecations
============

View File

@ -70,6 +70,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Release Notes:</span></p> <p class="caption"><span class="caption-text">Release Notes:</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.5-changelog.html">MediaCurator 0.0.5 Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.4-changelog.html">MediaCurator 0.0.4 Release Notes</a></li> <li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.4-changelog.html">MediaCurator 0.0.4 Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.1-changelog.html">MediaCurator 0.0.1 Release Notes</a></li> <li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.1-changelog.html">MediaCurator 0.0.1 Release Notes</a></li>
</ul> </ul>

View File

@ -80,6 +80,7 @@
<div class="toctree-wrapper compound"> <div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">Release Notes:</span></p> <p class="caption"><span class="caption-text">Release Notes:</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.5-changelog.html">MediaCurator 0.0.5 Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.4-changelog.html">MediaCurator 0.0.4 Release Notes</a></li> <li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.4-changelog.html">MediaCurator 0.0.4 Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.1-changelog.html">MediaCurator 0.0.1 Release Notes</a></li> <li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.1-changelog.html">MediaCurator 0.0.1 Release Notes</a></li>
</ul> </ul>
@ -117,6 +118,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Release Notes:</span></p> <p class="caption"><span class="caption-text">Release Notes:</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.5-changelog.html">MediaCurator 0.0.5 Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.4-changelog.html">MediaCurator 0.0.4 Release Notes</a></li> <li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.4-changelog.html">MediaCurator 0.0.4 Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.1-changelog.html">MediaCurator 0.0.1 Release Notes</a></li> <li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.1-changelog.html">MediaCurator 0.0.1 Release Notes</a></li>
</ul> </ul>

Binary file not shown.

View File

@ -17,7 +17,7 @@
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" /> <link rel="search" title="Search" href="../search.html" />
<link rel="next" title="MediaCurator 0.0.1 Release Notes" href="0.0.1-changelog.html" /> <link rel="next" title="MediaCurator 0.0.1 Release Notes" href="0.0.1-changelog.html" />
<link rel="prev" title="Errors" href="../usage/errors.html" /> <link rel="prev" title="MediaCurator 0.0.5 Release Notes" href="0.0.5-changelog.html" />
<link rel="stylesheet" href="../_static/custom.css" type="text/css" /> <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
@ -112,6 +112,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Release Notes:</span></p> <p class="caption"><span class="caption-text">Release Notes:</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="0.0.5-changelog.html">MediaCurator 0.0.5 Release Notes</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">MediaCurator 0.0.4 Release Notes</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">MediaCurator 0.0.4 Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="0.0.1-changelog.html">MediaCurator 0.0.1 Release Notes</a></li> <li class="toctree-l1"><a class="reference internal" href="0.0.1-changelog.html">MediaCurator 0.0.1 Release Notes</a></li>
</ul> </ul>
@ -120,7 +121,7 @@
<h3>Related Topics</h3> <h3>Related Topics</h3>
<ul> <ul>
<li><a href="../index.html">Documentation overview</a><ul> <li><a href="../index.html">Documentation overview</a><ul>
<li>Previous: <a href="../usage/errors.html" title="previous chapter">Errors</a></li> <li>Previous: <a href="0.0.5-changelog.html" title="previous chapter">MediaCurator 0.0.5 Release Notes</a></li>
<li>Next: <a href="0.0.1-changelog.html" title="next chapter">MediaCurator 0.0.1 Release Notes</a></li> <li>Next: <a href="0.0.1-changelog.html" title="next chapter">MediaCurator 0.0.1 Release Notes</a></li>
</ul></li> </ul></li>
</ul> </ul>

View File

@ -0,0 +1,167 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>MediaCurator 0.0.5 Release Notes &#8212; MediaCurator documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="MediaCurator 0.0.4 Release Notes" href="0.0.4-changelog.html" />
<link rel="prev" title="Errors" href="../usage/errors.html" />
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
</head><body>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="mediacurator-0-0-5-release-notes">
<h1>MediaCurator 0.0.5 Release Notes<a class="headerlink" href="#mediacurator-0-0-5-release-notes" title="Permalink to this headline"></a></h1>
<div class="section" id="highlights">
<h2>Highlights<a class="headerlink" href="#highlights" title="Permalink to this headline"></a></h2>
<p>Bugs fixes:
* Fixed bug with class values</p>
</div>
<div class="section" id="dropped-support">
<h2>Dropped Support<a class="headerlink" href="#dropped-support" title="Permalink to this headline"></a></h2>
</div>
<div class="section" id="future-changes">
<h2>Future Changes<a class="headerlink" href="#future-changes" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>More filters</p></li>
<li><p>Test AV1 Support</p></li>
<li><p>Prepare API for GUI</p></li>
</ul>
</div>
<div class="section" id="compatibility-notes">
<h2>Compatibility notes<a class="headerlink" href="#compatibility-notes" title="Permalink to this headline"></a></h2>
<div class="section" id="python-support">
<h3>Python Support<a class="headerlink" href="#python-support" title="Permalink to this headline"></a></h3>
<p>Mediacurator has been tested on Python 3.7 - 3.9</p>
</div>
<div class="section" id="ffmpeg-support">
<h3>FFMPEG Support<a class="headerlink" href="#ffmpeg-support" title="Permalink to this headline"></a></h3>
<p>Mediacurator has been tested to work with FFMPEG versions ranging from 4.1.6 to 4.3.1</p>
</div>
<div class="section" id="os-support">
<h3>OS Support<a class="headerlink" href="#os-support" title="Permalink to this headline"></a></h3>
<p>Mediacurator has been tested to work on various GNU/Linux distribution as well as Windows</p>
</div>
</div>
<div class="section" id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline"></a></h2>
</div>
<div class="section" id="improvements">
<h2>Improvements<a class="headerlink" href="#improvements" title="Permalink to this headline"></a></h2>
</div>
<div class="section" id="changes">
<h2>Changes<a class="headerlink" href="#changes" title="Permalink to this headline"></a></h2>
</div>
<div class="section" id="deprecations">
<h2>Deprecations<a class="headerlink" href="#deprecations" title="Permalink to this headline"></a></h2>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/mclogo4x.png" alt="Logo"/>
</a></p>
<h1 class="logo"><a href="../index.html">MediaCurator</a></h1>
<h3>Navigation</h3>
<p class="caption"><span class="caption-text">Usage:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../usage/warnings.html">Warnings</a></li>
<li class="toctree-l1"><a class="reference internal" href="../usage/installation.html">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../usage/quickstart.html">Quickstart</a></li>
<li class="toctree-l1"><a class="reference internal" href="../usage/manual.html">Manual</a></li>
<li class="toctree-l1"><a class="reference internal" href="../usage/use_cases.html">Use cases</a></li>
<li class="toctree-l1"><a class="reference internal" href="../usage/errors.html">Errors</a></li>
</ul>
<p class="caption"><span class="caption-text">Release Notes:</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">MediaCurator 0.0.5 Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="0.0.4-changelog.html">MediaCurator 0.0.4 Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="0.0.1-changelog.html">MediaCurator 0.0.1 Release Notes</a></li>
</ul>
<div class="relations">
<h3>Related Topics</h3>
<ul>
<li><a href="../index.html">Documentation overview</a><ul>
<li>Previous: <a href="../usage/errors.html" title="previous chapter">Errors</a></li>
<li>Next: <a href="0.0.4-changelog.html" title="next chapter">MediaCurator 0.0.4 Release Notes</a></li>
</ul></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
&copy;2020, Fabrice Quenneville.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 3.3.1</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
<a href="../_sources/releasenotes/0.0.5-changelog.rst.txt"
rel="nofollow">Page source</a>
</div>
</body>
</html>

View File

@ -89,6 +89,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Release Notes:</span></p> <p class="caption"><span class="caption-text">Release Notes:</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.5-changelog.html">MediaCurator 0.0.5 Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.4-changelog.html">MediaCurator 0.0.4 Release Notes</a></li> <li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.4-changelog.html">MediaCurator 0.0.4 Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.1-changelog.html">MediaCurator 0.0.1 Release Notes</a></li> <li class="toctree-l1"><a class="reference internal" href="releasenotes/0.0.1-changelog.html">MediaCurator 0.0.1 Release Notes</a></li>
</ul> </ul>

View File

@ -1 +1 @@
Search.setIndex({docnames:["index","releasenotes/0.0.1-changelog","releasenotes/0.0.4-changelog","usage/errors","usage/installation","usage/manual","usage/quickstart","usage/use_cases","usage/warnings"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,sphinx:56},filenames:["index.rst","releasenotes/0.0.1-changelog.rst","releasenotes/0.0.4-changelog.rst","usage/errors.rst","usage/installation.rst","usage/manual.rst","usage/quickstart.rst","usage/use_cases.rst","usage/warnings.rst"],objects:{},objnames:{},objtypes:{},terms:{"1080":5,"1080p":[5,6],"1280":5,"1440":5,"2160":5,"480":5,"480p":5,"720":5,"720p":[5,6],"case":[0,5,6],"default":[5,6],"new":[],"try":[3,8],"while":3,Are:7,For:4,The:[0,5,7],Use:[0,5,6],about:5,acquaint:8,activ:3,aerat:5,after:[2,3],again:[3,8],all:[0,1,5,6,7,8],also:[0,3],ani:[5,6,7],aomedia:5,api:[1,2],appli:2,audio:[3,7],author:0,av1:[0,1,2,5,6,7],avi:[5,6,7],base:[0,1,5],batch:[0,1,5],been:[1,2,4,5],befor:8,behavior:8,being:2,big:3,big_valu:3,bug:[0,2],can:[0,3,8],chang:[],chapter:3,clean:3,code:[0,7],codec:[0,1,5,6,7],comma:[5,6],command:[0,5,8],compat:[],compress:5,contain:[5,7],content:[],convers:[2,5],convert:[0,1,6,7,8],correctli:2,corrupt:7,damag:[3,8],databas:[0,5],decod:3,definit:[5,7],del:[6,7,8],delet:[5,6,7,8],depend:3,deprec:[],descript:0,detect:3,developp:5,dir:[6,7,8],directori:5,distribut:[1,2,3,4],don:3,done:[5,8],doubl:[5,6],download:4,drop:[],dry:8,dure:5,effici:7,encod:[0,1,5,8],error:[0,1,5,8],everyth:5,exampl:[0,3,6],except:5,expect:8,experi:3,experiment:5,extens:[5,6,7],extent:[0,1,5],fabric:5,face:3,failur:3,featur:[3,8],feel:3,few:[3,8],fferror:[5,6,7,8],ffmpeg:[0,5,6,7],file:[6,8],filenam:[5,6],filter:[0,1,2,6,7,8],find:[0,1,5],first:1,fix:2,flag:8,flv:[5,6],folder:8,follow:[1,7],format:[5,6,7],found:[0,3],frame:3,free:3,from:[0,1,2,7],futur:[],get:8,github:[0,3,4],gnu:[1,2,4],gui:[1,2],happen:3,has:[1,2,4],have:[5,8],header:3,height:5,here:[3,8],hevc:5,high:7,highlight:[],how:7,implement:1,improv:[],includ:[5,6,7],inform:[0,1,3,5],instal:0,interleav:7,irrecover:8,irrepar:8,issu:0,its:3,latest:3,less:5,librari:[7,8],like:3,line:[0,5],linux:[1,2,4],list:[0,1,6,7,8],lot:7,lowr:[5,6,8],m4v:[5,6],mai:3,main:7,manag:[0,5],mani:7,manual:0,matroska:5,media2:[5,6],media:[0,5,6,7,8],mediacur:[3,4,5,6,7,8],medlist:[5,6],miss:3,mkv:[5,6,7],mnt:[5,6,7,8],modern:[0,1,5],more:[0,1,2,5,6],most:3,move:[3,5],movi:[5,6,7],mp4:[5,6],mpeg4:[5,6,7],mpeg:[3,5,6],mpg:[5,6,7],multipl:[5,6],name:0,necessarli:3,next:3,non:8,note:0,now:4,occur:3,old:[3,5,6,7],older:7,onc:5,onli:4,open:3,oper:5,option:[0,3,6],origin:[5,6,7],other:0,out:[6,7],output:[3,5,6,7],packag:[4,5],paramet:5,pass:5,permiss:2,pip:4,pleas:[7,8],possibl:3,prepar:[1,2],print:[0,3,6],project:3,properli:8,purg:0,pypi:0,python:[0,1,5],quennevil:5,quickstart:0,quit:3,rang:[1,2],raw:3,reason:7,recod:[0,1,5],recur:3,referenc:3,releas:0,repair:[0,1,5,8],report:3,repositori:3,request:5,requir:4,resolut:[0,1,5],result:5,run:[3,8],save:7,scan:5,search:5,see:[0,7],segfault:3,sei:3,select:[5,7],separ:[5,6],serv:3,singl:5,some:3,sourc:[0,3],space:7,specif:5,standard:7,step:3,subsd:[5,7,8],substandard:[5,7,8],succefulli:5,suggest:3,support:[],synopsi:0,take:3,test:[1,2,4],text:[5,6,7],than:5,thi:[1,4,5],too:3,tool:[0,5],track:3,txt:[5,6],type:3,uhd:[5,6],under:5,unintend:8,until:8,updat:3,usag:0,use:[5,6,7,8],used:[3,5,8],user:5,using:[3,5,6,7,8],valu:[5,6],valuabl:8,variou:[1,2],verbos:[3,5,6,7],veri:3,version:[1,2,3],vid:[5,6],video2:5,video:[0,1,3,5,6,7,8],want:3,warn:[0,5,7],well:[1,2],what:7,when:[3,8],wich:3,width:5,window:[1,2,4,7],without:[0,1,5,8],wmv3:[5,6],wmv:[5,6,7],work:[1,2],would:7,x264:[5,6],x265:[0,1,5,6],you:[3,8],your:[3,8]},titles:["Welcome to MediaCurator\u2019s documentation!","MediaCurator 0.0.1 Release Notes","MediaCurator 0.0.4 Release Notes","Errors","Installation","Manual","Quickstart","Use cases","Warnings"],titleterms:{"case":7,"new":[1,2],Use:7,also:5,author:5,batch:7,bug:3,chang:[1,2],compat:[1,2],convert:5,del:5,deprec:[1,2],descript:5,dir:5,document:0,drop:[1,2],encod:[3,7],error:[3,7],exampl:5,featur:[1,2],ffmpeg:[1,2,3,4],file:5,filter:5,from:4,futur:[1,2],github:[],highlight:[1,2],improv:[1,2],inform:7,instal:4,issu:3,list:5,manual:5,mediacur:[0,1,2],name:5,note:[1,2],option:5,other:3,out:5,print:[5,7],purg:7,pypi:4,python:2,quickstart:6,releas:[1,2],repair:[3,7],see:5,support:[1,2],synopsi:5,warn:8,welcom:0}}) Search.setIndex({docnames:["index","releasenotes/0.0.1-changelog","releasenotes/0.0.4-changelog","releasenotes/0.0.5-changelog","usage/errors","usage/installation","usage/manual","usage/quickstart","usage/use_cases","usage/warnings"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,sphinx:56},filenames:["index.rst","releasenotes/0.0.1-changelog.rst","releasenotes/0.0.4-changelog.rst","releasenotes/0.0.5-changelog.rst","usage/errors.rst","usage/installation.rst","usage/manual.rst","usage/quickstart.rst","usage/use_cases.rst","usage/warnings.rst"],objects:{},objnames:{},objtypes:{},terms:{"1080":6,"1080p":[6,7],"1280":6,"1440":6,"2160":6,"480":6,"480p":6,"720":6,"720p":[6,7],"case":[0,6,7],"class":3,"default":[6,7],"new":[],"try":[4,9],"while":4,Are:8,For:5,The:[0,6,8],Use:[0,6,7],about:6,acquaint:9,activ:4,aerat:6,after:[2,4],again:[4,9],all:[0,1,6,7,8,9],also:[0,4],ani:[6,7,8],aomedia:6,api:[1,2,3],appli:2,audio:[4,8],author:0,av1:[0,1,2,3,6,7,8],avi:[6,7,8],base:[0,1,6],batch:[0,1,6],been:[1,2,3,5,6],befor:9,behavior:9,being:2,big:4,big_valu:4,bug:[0,2,3],can:[0,4,9],chang:[],chapter:4,clean:4,code:[0,8],codec:[0,1,6,7,8],comma:[6,7],command:[0,6,9],compat:[],compress:6,contain:[6,8],content:[],convers:[2,6],convert:[0,1,7,8,9],correctli:2,corrupt:8,damag:[4,9],databas:[0,6],decod:4,definit:[6,8],del:[7,8,9],delet:[6,7,8,9],depend:4,deprec:[],descript:0,detect:4,developp:6,dir:[7,8,9],directori:6,distribut:[1,2,3,4,5],don:4,done:[6,9],doubl:[6,7],download:5,drop:[],dry:9,dure:6,effici:8,encod:[0,1,6,9],error:[0,1,6,9],everyth:6,exampl:[0,4,7],except:6,expect:9,experi:4,experiment:6,extens:[6,7,8],extent:[0,1,6],fabric:6,face:4,failur:4,featur:[4,9],feel:4,few:[4,9],fferror:[6,7,8,9],ffmpeg:[0,6,7,8],file:[7,9],filenam:[6,7],filter:[0,1,2,3,7,8,9],find:[0,1,6],first:1,fix:[2,3],flag:9,flv:[6,7],folder:9,follow:[1,8],format:[6,7,8],found:[0,4],frame:4,free:4,from:[0,1,2,3,8],futur:[],get:9,github:[0,4,5],gnu:[1,2,3,5],gui:[1,2,3],happen:4,has:[1,2,3,5],have:[6,9],header:4,height:6,here:[4,9],hevc:6,high:8,highlight:[],how:8,implement:1,improv:[],includ:[6,7,8],inform:[0,1,4,6],instal:0,interleav:8,irrecover:9,irrepar:9,issu:0,its:4,latest:4,less:6,librari:[8,9],like:4,line:[0,6],linux:[1,2,3,5],list:[0,1,7,8,9],lot:8,lowr:[6,7,9],m4v:[6,7],mai:4,main:8,manag:[0,6],mani:8,manual:0,matroska:6,media2:[6,7],media:[0,6,7,8,9],mediacur:[4,5,6,7,8,9],medlist:[6,7],miss:4,mkv:[6,7,8],mnt:[6,7,8,9],modern:[0,1,6],more:[0,1,2,3,6,7],most:4,move:[4,6],movi:[6,7,8],mp4:[6,7],mpeg4:[6,7,8],mpeg:[4,6,7],mpg:[6,7,8],multipl:[6,7],name:0,necessarli:4,next:4,non:9,note:0,now:5,occur:4,old:[4,6,7,8],older:8,onc:6,onli:5,open:4,oper:6,option:[0,4,7],origin:[6,7,8],other:0,out:[7,8],output:[4,6,7,8],packag:[5,6],paramet:6,pass:6,permiss:2,pip:5,pleas:[8,9],possibl:4,prepar:[1,2,3],print:[0,4,7],project:4,properli:9,purg:0,pypi:0,python:[0,1,6],quennevil:6,quickstart:0,quit:4,rang:[1,2,3],raw:4,reason:8,recod:[0,1,6],recur:4,referenc:4,releas:0,repair:[0,1,6,9],report:4,repositori:4,request:6,requir:5,resolut:[0,1,6],result:6,run:[4,9],save:8,scan:6,search:6,see:[0,8],segfault:4,sei:4,select:[6,8],separ:[6,7],serv:4,singl:6,some:4,sourc:[0,4],space:8,specif:6,standard:8,step:4,subsd:[6,8,9],substandard:[6,8,9],succefulli:6,suggest:4,support:[],synopsi:0,take:4,test:[1,2,3,5],text:[6,7,8],than:6,thi:[1,5,6],too:4,tool:[0,6],track:4,txt:[6,7],type:4,uhd:[6,7],under:6,unintend:9,until:9,updat:4,usag:0,use:[6,7,8,9],used:[4,6,9],user:6,using:[4,6,7,8,9],valu:[3,6,7],valuabl:9,variou:[1,2,3],verbos:[4,6,7,8],veri:4,version:[1,2,3,4],vid:[6,7],video2:6,video:[0,1,4,6,7,8,9],want:4,warn:[0,6,8],well:[1,2,3],what:8,when:[4,9],wich:4,width:6,window:[1,2,3,5,8],without:[0,1,6,9],wmv3:[6,7],wmv:[6,7,8],work:[1,2,3],would:8,x264:[6,7],x265:[0,1,6,7],you:[4,9],your:[4,9]},titles:["Welcome to MediaCurator\u2019s documentation!","MediaCurator 0.0.1 Release Notes","MediaCurator 0.0.4 Release Notes","MediaCurator 0.0.5 Release Notes","Errors","Installation","Manual","Quickstart","Use cases","Warnings"],titleterms:{"case":8,"new":[1,2,3],Use:8,also:6,author:6,batch:8,bug:4,chang:[1,2,3],compat:[1,2,3],convert:6,del:6,deprec:[1,2,3],descript:6,dir:6,document:0,drop:[1,2,3],encod:[4,8],error:[4,8],exampl:6,featur:[1,2,3],ffmpeg:[1,2,3,4,5],file:6,filter:6,from:5,futur:[1,2,3],github:[],highlight:[1,2,3],improv:[1,2,3],inform:8,instal:5,issu:4,list:6,manual:6,mediacur:[0,1,2,3],name:6,note:[1,2,3],option:6,other:4,out:6,print:[6,8],purg:8,pypi:5,python:[2,3],quickstart:7,releas:[1,2,3],repair:[4,8],see:6,support:[1,2,3],synopsi:6,warn:9,welcom:0}})

View File

@ -30,6 +30,7 @@ The source code can be found on `GitHub <https://github.com/fabquenneville/Media
:maxdepth: 1 :maxdepth: 1
:caption: Release Notes: :caption: Release Notes:
releasenotes/0.0.5-changelog
releasenotes/0.0.4-changelog releasenotes/0.0.4-changelog
releasenotes/0.0.1-changelog releasenotes/0.0.1-changelog

View File

@ -0,0 +1,58 @@
================================
MediaCurator 0.0.5 Release Notes
================================
Highlights
==========
Bugs fixes:
* Fixed bug with class values
* Added VOB file support
Dropped Support
===============
Future Changes
==============
* More filters
* Test AV1 Support
* Prepare API for GUI
Compatibility notes
===================
Python Support
--------------
Mediacurator has been tested on Python 3.7 - 3.9
FFMPEG Support
--------------
Mediacurator has been tested to work with FFMPEG versions ranging from 4.1.6 to 4.3.1
OS Support
----------
Mediacurator has been tested to work on various GNU/Linux distribution as well as Windows
New Features
============
Improvements
============
Changes
=======
Deprecations
============

View File

@ -14,7 +14,7 @@ Synopsis
mediacurator [list,convert] [-del] mediacurator [list,convert] [-del]
[-in:any,avi,mkv,wmv,mpg,mp4,m4v,flv,vid] [-in:any,avi,mkv,wmv,mpg,mp4,m4v,flv,vid]
[-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv] [-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv,vob]
[-out:mkv/mp4,x265/av1] [-out:mkv/mp4,x265/av1]
[-print:list,formated,verbose] [-print:list,formated,verbose]
[-dirs/-files:"/mnt/media/",,"/mnt/media2/"] [-dirs/-files:"/mnt/media/",,"/mnt/media2/"]
@ -78,7 +78,7 @@ Filter the selected videos for parameters:
* 720p: if less than 1080p and width >= 1280 or height >= 720: * 720p: if less than 1080p and width >= 1280 or height >= 720:
* sd: if less than 720p and if height >= 480 * sd: if less than 720p and if height >= 480
* subsd: Substandard definitions: Everything under 480p * subsd: Substandard definitions: Everything under 480p
* mpeg,mpeg4,x264,wmv3,wmv: Filter for videos encoded in the requested video codec * mpeg,mpeg4,x264,wmv3,wmv,vob: Filter for videos encoded in the requested video codec
-out: -out:
===== =====

View File

@ -17,17 +17,23 @@ class MediaLibrary():
Contains the information and methods of a video file. Contains the information and methods of a video file.
''' '''
'''
# User options # User options
directories = list() directories = list()
inputs = list() inputs = list()
filters = list() filters = list()
# The videos variable holds a dictionary of all videos in Video objects # The videos variable holds a dictionary of all videos in Video objects
videos = dict() videos = dict()
'''
def __init__(self, files = False, directories = False, inputs = ["any"], filters = [], verbose = False): def __init__(self, files = False, directories = False, inputs = ["any"], filters = [], verbose = False):
''' '''
This is the library object who holds the information about the workspace and all the videos in it. This is the library object who holds the information about the workspace and all the videos in it.
''' '''
if not hasattr(self, "videos"):
self.videos = dict()
if files: if files:
for filepath in files: for filepath in files:
self.videos[filepath] = Video(filepath, verbose = verbose) self.videos[filepath] = Video(filepath, verbose = verbose)
@ -79,6 +85,8 @@ class MediaLibrary():
videolist += list(path.rglob("*.[mM][pP][gG]")) videolist += list(path.rglob("*.[mM][pP][gG]"))
if "vid" in self.inputs or "any" in self.inputs or len(self.inputs) < 1: if "vid" in self.inputs or "any" in self.inputs or len(self.inputs) < 1:
videolist += list(path.rglob("*.[vV][iI][dD]")) videolist += list(path.rglob("*.[vV][iI][dD]"))
if "vob" in self.inputs or "any" in self.inputs or len(self.inputs) < 1:
videolist += list(path.rglob("*.[vV][oO][bB]"))
# Remove folders # Remove folders
videolist_tmp = videolist videolist_tmp = videolist

View File

@ -14,6 +14,7 @@ colorama.init()
class Video(): class Video():
'''Contains the information and methods of a video file.''' '''Contains the information and methods of a video file.'''
'''
path = str() path = str()
filename_origin = str() filename_origin = str()
filesize = int() filesize = int()
@ -25,7 +26,7 @@ class Video():
definition = str() definition = str()
width = int() width = int()
height = int() height = int()
'''
def __init__(self, filepath, useful = True, verbose = False): def __init__(self, filepath, useful = True, verbose = False):

2
setup.py Normal file → Executable file
View File

@ -7,7 +7,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
setuptools.setup( setuptools.setup(
name="MediaCurator", name="MediaCurator",
version="0.0.4", version="0.0.5",
author="Fabrice Quenneville", author="Fabrice Quenneville",
author_email="fab@fabq.ca", author_email="fab@fabq.ca",
url="https://github.com/fabquenneville/MediaCurator", url="https://github.com/fabquenneville/MediaCurator",

View File

0
tests/unit/__init__.py Normal file
View File