Working on docs/packaging

This commit is contained in:
Fabrice Quenneville 2020-12-15 23:40:31 -05:00
parent ebbd0c8d40
commit b6ce978c87
26 changed files with 145 additions and 100 deletions

15
.gitignore vendored
View File

@ -1,4 +1,17 @@
**/__pycache__
test.sh
renamelist.txt
.vscode
.vscode
# Docs build data
/docsource/build/
/docsource/source/_*
# Compiled python modules.
*.pyc
# Setuptools distribution folder.
/dist/
# Python egg metadata, regenerated from source files by setuptools.
/*.egg-info

View File

@ -12,7 +12,7 @@ Synopsis
.. code-block:: bash
./curator.py [list,convert] [-del]
./mediacurator.py [list,convert] [-del]
[-in:any,avi,mkv,wmv,mpg,mp4,m4v,flv,vid]
[-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv]
[-out:mkv/mp4,x265/av1]
@ -128,11 +128,11 @@ Examples
.. code-block:: bash
# List all videos with old codec in formated format
./curator.py list -filters:old -print:formated -dirs:/mnt/media/ >> ../medlist.txt
./mediacurator.py list -filters:old -print:formated -dirs:/mnt/media/ >> ../medlist.txt
# Convert all videos with the codec mpeg4 in a mp4 using the av1 video codec and the delete the originals
./curator.py convert -del -filters:mpeg4 -out:av1,mp4 -dirs:"/mnt/media/Movies/"
./mediacurator.py convert -del -filters:mpeg4 -out:av1,mp4 -dirs:"/mnt/media/Movies/"
# Convert any video with avi or mpg extensions, print formated text including ffmpeg's output and then delete the originals
./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
./mediacurator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
More examples in :doc:`use_cases`

View File

@ -4,7 +4,7 @@ Quickstart
.. code-block:: bash
./curator.py [list,convert] [-del]
./mediacurator.py [list,convert] [-del]
[-in:any,avi,mkv,wmv,mpg,mp4,m4v,flv,vid]
[-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv]
[-out:mkv/mp4,x265/av1]
@ -27,10 +27,10 @@ Examples:
.. code-block:: bash
# List all videos with old codec in formated format
./curator.py list -filters:old -print:formated -dirs:/mnt/media/ >> ../medlist.txt
./mediacurator.py list -filters:old -print:formated -dirs:/mnt/media/ >> ../medlist.txt
# Convert all videos with the codec mpeg4 in a mp4 using the av1 video codec and the delete the originals
./curator.py convert -del -filters:mpeg4 -out:av1,mp4 -dirs:"/mnt/media/Movies/"
./mediacurator.py convert -del -filters:mpeg4 -out:av1,mp4 -dirs:"/mnt/media/Movies/"
# Convert any video with avi or mpg extensions, print formated text including ffmpeg's output and then delete the originals
./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
./mediacurator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
More examples in :doc:`use_cases`

View File

@ -21,13 +21,13 @@ List all videos with old codec in formated format
.. code-block:: bash
./curator.py list -filters:old -dirs:/mnt/media/
./mediacurator.py list -filters:old -dirs:/mnt/media/
List all videos with substandard definitions with a formated output
.. code-block:: bash
./curator.py list -filters:subsd -print:formated -dirs:/mnt/media/
./mediacurator.py list -filters:subsd -print:formated -dirs:/mnt/media/
.. _purge:
@ -41,19 +41,19 @@ List and delete all videos using the `Windows Media Video <https://en.wikipedia.
.. code-block:: bash
./curator.py list -del -filters:wmv -dirs:/mnt/media/
./mediacurator.py list -del -filters:wmv -dirs:/mnt/media/
List and delete all videos using an `Audio Video Interleave <https://en.wikipedia.org/wiki/Audio_Video_Interleave>`_
.. code-block:: bash
./curator.py list -del -in:avi -dirs:/mnt/media/
./mediacurator.py list -del -in:avi -dirs:/mnt/media/
List and delete any videos with encoding errors
.. code-block:: bash
./curator.py list -del -filters:fferror -dirs:/mnt/media/
./mediacurator.py list -del -filters:fferror -dirs:/mnt/media/
@ -66,19 +66,19 @@ List all videos with encoding errors
.. code-block:: bash
./curator.py list -filters:fferror -dirs:/mnt/media/
./mediacurator.py list -filters:fferror -dirs:/mnt/media/
List and delete any videos with encoding errors
.. code-block:: bash
./curator.py list -del -filters:fferror -dirs:/mnt/media/
./mediacurator.py list -del -filters:fferror -dirs:/mnt/media/
Convert all videos with encoding errors to `High Efficiency Video Coding <https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding>`_ and the delete the originals
.. code-block:: bash
./curator.py convert -del -filters:fferror -dirs:"/mnt/media/Movies/"
./mediacurator.py convert -del -filters:fferror -dirs:"/mnt/media/Movies/"
.. _convert:
@ -90,16 +90,16 @@ Convert all videos with old codecs to `High Efficiency Video Coding <https://en.
.. code-block:: bash
./curator.py convert -del -filters:old -dirs:"/mnt/media/Movies/"
./mediacurator.py convert -del -filters:old -dirs:"/mnt/media/Movies/"
Convert all videos with the codec mpeg4 to an mkv container using the av1 video codec
.. code-block:: bash
./curator.py convert -filters:mpeg4 -out:av1,mkv -dirs:"/mnt/media/Movies/"
./mediacurator.py convert -filters:mpeg4 -out:av1,mkv -dirs:"/mnt/media/Movies/"
Convert any video with avi or mpg extensions, print formated text including ffmpeg's output and then delete the originals
.. code-block:: bash
./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
./mediacurator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/

View File

@ -10,13 +10,13 @@ To delete all non-hd videos in a folder:
.. code-block:: bash
./curator.py list -del -filters:lowres -dirs/-files:"/mnt/media/"
./mediacurator.py list -del -filters:lowres -dirs/-files:"/mnt/media/"
To delete all substandard videos in a folder:
.. code-block:: bash
./curator.py list -del -filters:subsd -dirs/-files:"/mnt/media/"
./mediacurator.py list -del -filters:subsd -dirs/-files:"/mnt/media/"
.. image:: ../_static/Screenshot-delete.png
:width: 600
@ -26,19 +26,19 @@ To delete all videos in a folder with encoding errors:
.. code-block:: bash
./curator.py list -del -filters:fferror -dirs/-files:"/mnt/media/"
./mediacurator.py list -del -filters:fferror -dirs/-files:"/mnt/media/"
To convert (repair) then delete all videos in a folder with encoding errors:
.. code-block:: bash
./curator.py convert -del -filters:fferror -dirs/-files:"/mnt/media/"
./mediacurator.py convert -del -filters:fferror -dirs/-files:"/mnt/media/"
To delete all videos in a folder:
.. code-block:: bash
./curator.py list -del -filters:lowres -dirs/-files:"/mnt/media/"
./mediacurator.py list -del -filters:lowres -dirs/-files:"/mnt/media/"
All these commands can have valuable use but are irrecoverable if done unintended.

View File

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

View File

@ -42,7 +42,7 @@
</div>
<div class="section" id="synopsis">
<h2>Synopsis<a class="headerlink" href="#synopsis" title="Permalink to this headline"></a></h2>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py <span class="o">[</span>list,convert<span class="o">]</span> <span class="o">[</span>-del<span class="o">]</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py <span class="o">[</span>list,convert<span class="o">]</span> <span class="o">[</span>-del<span class="o">]</span>
<span class="o">[</span>-in:any,avi,mkv,wmv,mpg,mp4,m4v,flv,vid<span class="o">]</span>
<span class="o">[</span>-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv<span class="o">]</span>
<span class="o">[</span>-out:mkv/mp4,x265/av1<span class="o">]</span>
@ -145,11 +145,11 @@
<div class="section" id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline"></a></h2>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># List all videos with old codec in formated format</span>
./curator.py list -filters:old -print:formated -dirs:/mnt/media/ &gt;&gt; ../medlist.txt
./mediacurator.py list -filters:old -print:formated -dirs:/mnt/media/ &gt;&gt; ../medlist.txt
<span class="c1"># Convert all videos with the codec mpeg4 in a mp4 using the av1 video codec and the delete the originals</span>
./curator.py convert -del -filters:mpeg4 -out:av1,mp4 -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
./mediacurator.py convert -del -filters:mpeg4 -out:av1,mp4 -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
<span class="c1"># Convert any video with avi or mpg extensions, print formated text including ffmpeg&#39;s output and then delete the originals</span>
./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
./mediacurator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
</pre></div>
</div>
<p>More examples in <a class="reference internal" href="use_cases.html"><span class="doc">Use cases</span></a></p>

View File

@ -36,7 +36,7 @@
<div class="section" id="quickstart">
<h1>Quickstart<a class="headerlink" href="#quickstart" title="Permalink to this headline"></a></h1>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py <span class="o">[</span>list,convert<span class="o">]</span> <span class="o">[</span>-del<span class="o">]</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py <span class="o">[</span>list,convert<span class="o">]</span> <span class="o">[</span>-del<span class="o">]</span>
<span class="o">[</span>-in:any,avi,mkv,wmv,mpg,mp4,m4v,flv,vid<span class="o">]</span>
<span class="o">[</span>-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv<span class="o">]</span>
<span class="o">[</span>-out:mkv/mp4,x265/av1<span class="o">]</span>
@ -54,11 +54,11 @@
</div>
<p>Examples:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># List all videos with old codec in formated format</span>
./curator.py list -filters:old -print:formated -dirs:/mnt/media/ &gt;&gt; ../medlist.txt
./mediacurator.py list -filters:old -print:formated -dirs:/mnt/media/ &gt;&gt; ../medlist.txt
<span class="c1"># Convert all videos with the codec mpeg4 in a mp4 using the av1 video codec and the delete the originals</span>
./curator.py convert -del -filters:mpeg4 -out:av1,mp4 -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
./mediacurator.py convert -del -filters:mpeg4 -out:av1,mp4 -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
<span class="c1"># Convert any video with avi or mpg extensions, print formated text including ffmpeg&#39;s output and then delete the originals</span>
./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
./mediacurator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
</pre></div>
</div>
<p>More examples in <a class="reference internal" href="use_cases.html"><span class="doc">Use cases</span></a></p>

View File

@ -54,11 +54,11 @@
<div class="section" id="print-information">
<span id="list-cmd"></span><h2>Print information<a class="headerlink" href="#print-information" title="Permalink to this headline"></a></h2>
<p>List all videos with old codec in formated format</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -filters:old -dirs:/mnt/media/
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -filters:old -dirs:/mnt/media/
</pre></div>
</div>
<p>List all videos with substandard definitions with a formated output</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -filters:subsd -print:formated -dirs:/mnt/media/
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -filters:subsd -print:formated -dirs:/mnt/media/
</pre></div>
</div>
</div>
@ -66,45 +66,45 @@
<span id="id1"></span><h2>Purge<a class="headerlink" href="#purge" title="Permalink to this headline"></a></h2>
<p>Please see <a class="reference internal" href="warnings.html"><span class="doc">Warnings</span></a></p>
<p>List and delete all videos using the <a class="reference external" href="https://en.wikipedia.org/wiki/Windows_Media_Video">Windows Media Video</a> codecs</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:wmv -dirs:/mnt/media/
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -del -filters:wmv -dirs:/mnt/media/
</pre></div>
</div>
<p>List and delete all videos using an <a class="reference external" href="https://en.wikipedia.org/wiki/Audio_Video_Interleave">Audio Video Interleave</a></p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -in:avi -dirs:/mnt/media/
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -del -in:avi -dirs:/mnt/media/
</pre></div>
</div>
<p>List and delete any videos with encoding errors</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:fferror -dirs:/mnt/media/
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -del -filters:fferror -dirs:/mnt/media/
</pre></div>
</div>
</div>
<div class="section" id="batch-repair-encoding-errors">
<span id="fferror"></span><h2>Batch repair encoding errors<a class="headerlink" href="#batch-repair-encoding-errors" title="Permalink to this headline"></a></h2>
<p>List all videos with encoding errors</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -filters:fferror -dirs:/mnt/media/
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -filters:fferror -dirs:/mnt/media/
</pre></div>
</div>
<p>List and delete any videos with encoding errors</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:fferror -dirs:/mnt/media/
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -del -filters:fferror -dirs:/mnt/media/
</pre></div>
</div>
<p>Convert all videos with encoding errors to <a class="reference external" href="https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding">High Efficiency Video Coding</a> and the delete the originals</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py convert -del -filters:fferror -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py convert -del -filters:fferror -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
</pre></div>
</div>
</div>
<div class="section" id="batch-re-encode">
<span id="convert"></span><h2>Batch re-encode<a class="headerlink" href="#batch-re-encode" title="Permalink to this headline"></a></h2>
<p>Convert all videos with old codecs to <a class="reference external" href="https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding">High Efficiency Video Coding</a> to save space and delete the originals</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py convert -del -filters:old -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py convert -del -filters:old -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
</pre></div>
</div>
<p>Convert all videos with the codec mpeg4 to an mkv container using the av1 video codec</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py convert -filters:mpeg4 -out:av1,mkv -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py convert -filters:mpeg4 -out:av1,mkv -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
</pre></div>
</div>
<p>Convert any video with avi or mpg extensions, print formated text including ffmpegs output and then delete the originals</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
</pre></div>
</div>
</div>

View File

@ -39,24 +39,24 @@
<p>Before using the delete feature please try a few dry runs to get acquainted with MediaCurator as it can irreparably damage your media library when not used properly.</p>
<p>When using the -del flag here is the expected behavior:</p>
<p>To delete all non-hd videos in a folder:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:lowres -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -del -filters:lowres -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
</pre></div>
</div>
<p>To delete all substandard videos in a folder:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:subsd -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -del -filters:subsd -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
</pre></div>
</div>
<a class="reference internal image-reference" href="../_images/Screenshot-delete.png"><img alt="Deleting videos" src="../_images/Screenshot-delete.png" style="width: 600px;" /></a>
<p>To delete all videos in a folder with encoding errors:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:fferror -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -del -filters:fferror -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
</pre></div>
</div>
<p>To convert (repair) then delete all videos in a folder with encoding errors:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py convert -del -filters:fferror -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py convert -del -filters:fferror -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
</pre></div>
</div>
<p>To delete all videos in a folder:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:lowres -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -del -filters:lowres -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
</pre></div>
</div>
<p>All these commands can have valuable use but are irrecoverable if done unintended.</p>

View File

@ -12,7 +12,7 @@ Synopsis
.. code-block:: bash
./curator.py [list,convert] [-del]
./mediacurator.py [list,convert] [-del]
[-in:any,avi,mkv,wmv,mpg,mp4,m4v,flv,vid]
[-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv]
[-out:mkv/mp4,x265/av1]
@ -128,11 +128,11 @@ Examples
.. code-block:: bash
# List all videos with old codec in formated format
./curator.py list -filters:old -print:formated -dirs:/mnt/media/ >> ../medlist.txt
./mediacurator.py list -filters:old -print:formated -dirs:/mnt/media/ >> ../medlist.txt
# Convert all videos with the codec mpeg4 in a mp4 using the av1 video codec and the delete the originals
./curator.py convert -del -filters:mpeg4 -out:av1,mp4 -dirs:"/mnt/media/Movies/"
./mediacurator.py convert -del -filters:mpeg4 -out:av1,mp4 -dirs:"/mnt/media/Movies/"
# Convert any video with avi or mpg extensions, print formated text including ffmpeg's output and then delete the originals
./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
./mediacurator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
More examples in :doc:`use_cases`

View File

@ -4,7 +4,7 @@ Quickstart
.. code-block:: bash
./curator.py [list,convert] [-del]
./mediacurator.py [list,convert] [-del]
[-in:any,avi,mkv,wmv,mpg,mp4,m4v,flv,vid]
[-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv]
[-out:mkv/mp4,x265/av1]
@ -27,10 +27,10 @@ Examples:
.. code-block:: bash
# List all videos with old codec in formated format
./curator.py list -filters:old -print:formated -dirs:/mnt/media/ >> ../medlist.txt
./mediacurator.py list -filters:old -print:formated -dirs:/mnt/media/ >> ../medlist.txt
# Convert all videos with the codec mpeg4 in a mp4 using the av1 video codec and the delete the originals
./curator.py convert -del -filters:mpeg4 -out:av1,mp4 -dirs:"/mnt/media/Movies/"
./mediacurator.py convert -del -filters:mpeg4 -out:av1,mp4 -dirs:"/mnt/media/Movies/"
# Convert any video with avi or mpg extensions, print formated text including ffmpeg's output and then delete the originals
./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
./mediacurator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
More examples in :doc:`use_cases`

View File

@ -21,13 +21,13 @@ List all videos with old codec in formated format
.. code-block:: bash
./curator.py list -filters:old -dirs:/mnt/media/
./mediacurator.py list -filters:old -dirs:/mnt/media/
List all videos with substandard definitions with a formated output
.. code-block:: bash
./curator.py list -filters:subsd -print:formated -dirs:/mnt/media/
./mediacurator.py list -filters:subsd -print:formated -dirs:/mnt/media/
.. _purge:
@ -41,19 +41,19 @@ List and delete all videos using the `Windows Media Video <https://en.wikipedia.
.. code-block:: bash
./curator.py list -del -filters:wmv -dirs:/mnt/media/
./mediacurator.py list -del -filters:wmv -dirs:/mnt/media/
List and delete all videos using an `Audio Video Interleave <https://en.wikipedia.org/wiki/Audio_Video_Interleave>`_
.. code-block:: bash
./curator.py list -del -in:avi -dirs:/mnt/media/
./mediacurator.py list -del -in:avi -dirs:/mnt/media/
List and delete any videos with encoding errors
.. code-block:: bash
./curator.py list -del -filters:fferror -dirs:/mnt/media/
./mediacurator.py list -del -filters:fferror -dirs:/mnt/media/
@ -66,19 +66,19 @@ List all videos with encoding errors
.. code-block:: bash
./curator.py list -filters:fferror -dirs:/mnt/media/
./mediacurator.py list -filters:fferror -dirs:/mnt/media/
List and delete any videos with encoding errors
.. code-block:: bash
./curator.py list -del -filters:fferror -dirs:/mnt/media/
./mediacurator.py list -del -filters:fferror -dirs:/mnt/media/
Convert all videos with encoding errors to `High Efficiency Video Coding <https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding>`_ and the delete the originals
.. code-block:: bash
./curator.py convert -del -filters:fferror -dirs:"/mnt/media/Movies/"
./mediacurator.py convert -del -filters:fferror -dirs:"/mnt/media/Movies/"
.. _convert:
@ -90,16 +90,16 @@ Convert all videos with old codecs to `High Efficiency Video Coding <https://en.
.. code-block:: bash
./curator.py convert -del -filters:old -dirs:"/mnt/media/Movies/"
./mediacurator.py convert -del -filters:old -dirs:"/mnt/media/Movies/"
Convert all videos with the codec mpeg4 to an mkv container using the av1 video codec
.. code-block:: bash
./curator.py convert -filters:mpeg4 -out:av1,mkv -dirs:"/mnt/media/Movies/"
./mediacurator.py convert -filters:mpeg4 -out:av1,mkv -dirs:"/mnt/media/Movies/"
Convert any video with avi or mpg extensions, print formated text including ffmpeg's output and then delete the originals
.. code-block:: bash
./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
./mediacurator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/

View File

@ -10,13 +10,13 @@ To delete all non-hd videos in a folder:
.. code-block:: bash
./curator.py list -del -filters:lowres -dirs/-files:"/mnt/media/"
./mediacurator.py list -del -filters:lowres -dirs/-files:"/mnt/media/"
To delete all substandard videos in a folder:
.. code-block:: bash
./curator.py list -del -filters:subsd -dirs/-files:"/mnt/media/"
./mediacurator.py list -del -filters:subsd -dirs/-files:"/mnt/media/"
.. image:: ../_static/Screenshot-delete.png
:width: 600
@ -26,19 +26,19 @@ To delete all videos in a folder with encoding errors:
.. code-block:: bash
./curator.py list -del -filters:fferror -dirs/-files:"/mnt/media/"
./mediacurator.py list -del -filters:fferror -dirs/-files:"/mnt/media/"
To convert (repair) then delete all videos in a folder with encoding errors:
.. code-block:: bash
./curator.py convert -del -filters:fferror -dirs/-files:"/mnt/media/"
./mediacurator.py convert -del -filters:fferror -dirs/-files:"/mnt/media/"
To delete all videos in a folder:
.. code-block:: bash
./curator.py list -del -filters:lowres -dirs/-files:"/mnt/media/"
./mediacurator.py list -del -filters:lowres -dirs/-files:"/mnt/media/"
All these commands can have valuable use but are irrecoverable if done unintended.

View File

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

View File

@ -42,7 +42,7 @@
</div>
<div class="section" id="synopsis">
<h2>Synopsis<a class="headerlink" href="#synopsis" title="Permalink to this headline"></a></h2>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py <span class="o">[</span>list,convert<span class="o">]</span> <span class="o">[</span>-del<span class="o">]</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py <span class="o">[</span>list,convert<span class="o">]</span> <span class="o">[</span>-del<span class="o">]</span>
<span class="o">[</span>-in:any,avi,mkv,wmv,mpg,mp4,m4v,flv,vid<span class="o">]</span>
<span class="o">[</span>-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv<span class="o">]</span>
<span class="o">[</span>-out:mkv/mp4,x265/av1<span class="o">]</span>
@ -145,11 +145,11 @@
<div class="section" id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline"></a></h2>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># List all videos with old codec in formated format</span>
./curator.py list -filters:old -print:formated -dirs:/mnt/media/ &gt;&gt; ../medlist.txt
./mediacurator.py list -filters:old -print:formated -dirs:/mnt/media/ &gt;&gt; ../medlist.txt
<span class="c1"># Convert all videos with the codec mpeg4 in a mp4 using the av1 video codec and the delete the originals</span>
./curator.py convert -del -filters:mpeg4 -out:av1,mp4 -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
./mediacurator.py convert -del -filters:mpeg4 -out:av1,mp4 -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
<span class="c1"># Convert any video with avi or mpg extensions, print formated text including ffmpeg&#39;s output and then delete the originals</span>
./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
./mediacurator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
</pre></div>
</div>
<p>More examples in <a class="reference internal" href="use_cases.html"><span class="doc">Use cases</span></a></p>

View File

@ -36,7 +36,7 @@
<div class="section" id="quickstart">
<h1>Quickstart<a class="headerlink" href="#quickstart" title="Permalink to this headline"></a></h1>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py <span class="o">[</span>list,convert<span class="o">]</span> <span class="o">[</span>-del<span class="o">]</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py <span class="o">[</span>list,convert<span class="o">]</span> <span class="o">[</span>-del<span class="o">]</span>
<span class="o">[</span>-in:any,avi,mkv,wmv,mpg,mp4,m4v,flv,vid<span class="o">]</span>
<span class="o">[</span>-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv<span class="o">]</span>
<span class="o">[</span>-out:mkv/mp4,x265/av1<span class="o">]</span>
@ -54,11 +54,11 @@
</div>
<p>Examples:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># List all videos with old codec in formated format</span>
./curator.py list -filters:old -print:formated -dirs:/mnt/media/ &gt;&gt; ../medlist.txt
./mediacurator.py list -filters:old -print:formated -dirs:/mnt/media/ &gt;&gt; ../medlist.txt
<span class="c1"># Convert all videos with the codec mpeg4 in a mp4 using the av1 video codec and the delete the originals</span>
./curator.py convert -del -filters:mpeg4 -out:av1,mp4 -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
./mediacurator.py convert -del -filters:mpeg4 -out:av1,mp4 -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
<span class="c1"># Convert any video with avi or mpg extensions, print formated text including ffmpeg&#39;s output and then delete the originals</span>
./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
./mediacurator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
</pre></div>
</div>
<p>More examples in <a class="reference internal" href="use_cases.html"><span class="doc">Use cases</span></a></p>

View File

@ -54,11 +54,11 @@
<div class="section" id="print-information">
<span id="list-cmd"></span><h2>Print information<a class="headerlink" href="#print-information" title="Permalink to this headline"></a></h2>
<p>List all videos with old codec in formated format</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -filters:old -dirs:/mnt/media/
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -filters:old -dirs:/mnt/media/
</pre></div>
</div>
<p>List all videos with substandard definitions with a formated output</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -filters:subsd -print:formated -dirs:/mnt/media/
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -filters:subsd -print:formated -dirs:/mnt/media/
</pre></div>
</div>
</div>
@ -66,45 +66,45 @@
<span id="id1"></span><h2>Purge<a class="headerlink" href="#purge" title="Permalink to this headline"></a></h2>
<p>Please see <a class="reference internal" href="warnings.html"><span class="doc">Warnings</span></a></p>
<p>List and delete all videos using the <a class="reference external" href="https://en.wikipedia.org/wiki/Windows_Media_Video">Windows Media Video</a> codecs</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:wmv -dirs:/mnt/media/
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -del -filters:wmv -dirs:/mnt/media/
</pre></div>
</div>
<p>List and delete all videos using an <a class="reference external" href="https://en.wikipedia.org/wiki/Audio_Video_Interleave">Audio Video Interleave</a></p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -in:avi -dirs:/mnt/media/
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -del -in:avi -dirs:/mnt/media/
</pre></div>
</div>
<p>List and delete any videos with encoding errors</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:fferror -dirs:/mnt/media/
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -del -filters:fferror -dirs:/mnt/media/
</pre></div>
</div>
</div>
<div class="section" id="batch-repair-encoding-errors">
<span id="fferror"></span><h2>Batch repair encoding errors<a class="headerlink" href="#batch-repair-encoding-errors" title="Permalink to this headline"></a></h2>
<p>List all videos with encoding errors</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -filters:fferror -dirs:/mnt/media/
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -filters:fferror -dirs:/mnt/media/
</pre></div>
</div>
<p>List and delete any videos with encoding errors</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:fferror -dirs:/mnt/media/
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -del -filters:fferror -dirs:/mnt/media/
</pre></div>
</div>
<p>Convert all videos with encoding errors to <a class="reference external" href="https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding">High Efficiency Video Coding</a> and the delete the originals</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py convert -del -filters:fferror -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py convert -del -filters:fferror -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
</pre></div>
</div>
</div>
<div class="section" id="batch-re-encode">
<span id="convert"></span><h2>Batch re-encode<a class="headerlink" href="#batch-re-encode" title="Permalink to this headline"></a></h2>
<p>Convert all videos with old codecs to <a class="reference external" href="https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding">High Efficiency Video Coding</a> to save space and delete the originals</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py convert -del -filters:old -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py convert -del -filters:old -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
</pre></div>
</div>
<p>Convert all videos with the codec mpeg4 to an mkv container using the av1 video codec</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py convert -filters:mpeg4 -out:av1,mkv -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py convert -filters:mpeg4 -out:av1,mkv -dirs:<span class="s2">&quot;/mnt/media/Movies/&quot;</span>
</pre></div>
</div>
<p>Convert any video with avi or mpg extensions, print formated text including ffmpegs output and then delete the originals</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
</pre></div>
</div>
</div>

View File

@ -39,24 +39,24 @@
<p>Before using the delete feature please try a few dry runs to get acquainted with MediaCurator as it can irreparably damage your media library when not used properly.</p>
<p>When using the -del flag here is the expected behavior:</p>
<p>To delete all non-hd videos in a folder:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:lowres -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -del -filters:lowres -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
</pre></div>
</div>
<p>To delete all substandard videos in a folder:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:subsd -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -del -filters:subsd -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
</pre></div>
</div>
<a class="reference internal image-reference" href="../_images/Screenshot-delete.png"><img alt="Deleting videos" src="../_images/Screenshot-delete.png" style="width: 600px;" /></a>
<p>To delete all videos in a folder with encoding errors:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:fferror -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -del -filters:fferror -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
</pre></div>
</div>
<p>To convert (repair) then delete all videos in a folder with encoding errors:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py convert -del -filters:fferror -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py convert -del -filters:fferror -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
</pre></div>
</div>
<p>To delete all videos in a folder:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:lowres -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./mediacurator.py list -del -filters:lowres -dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>
</pre></div>
</div>
<p>All these commands can have valuable use but are irrecoverable if done unintended.</p>

View File

@ -1 +1 @@
__all__ = ['curator']
__all__ = ['mediacurator']

32
setup.py Normal file
View File

@ -0,0 +1,32 @@
#!/usr/bin/env python3
import setuptools
with open("README.md", "r", encoding="utf-8") as fh:
long_description = fh.read()
setuptools.setup(
name="mediacurator",
version="0.0.1",
author="Fabrice Quenneville",
author_email="fab@fabq.ca",
url="https://github.com/fabquenneville/MediaCurator",
description="MediaCurator is a Python command line tool to manage a media database.",
long_description=long_description,
long_description_content_type="text/markdown",
download_url="TBD",
packages=setuptools.find_packages(exclude=("mediacurator.library",)),
classifiers=[
"Programming Language :: Python :: 3",
"License :: GPL-3.0",
"Operating System :: OS Independent",
],
keywords=[
"codecs", "filters", "video", "x265", "av1", "media-database", "python-command", "hevc"
],
install_requires=[
"pathlib","colorama"
],
license='GPL-3.0',
python_requires='>=3.6',
)