Added warnings to the documentation. Added the subsd resolution
This commit is contained in:
parent
3b99fae283
commit
8d6ef00ff5
@ -1,3 +1,35 @@
|
||||
========
|
||||
Warnings
|
||||
========
|
||||
|
||||
Before using the delete feature please run a few dry runs to get acquainted with MediaCurator as you it can irrirreparably damage your media library when not used properly.
|
||||
|
||||
When using the -del flag here is the expected behavior:
|
||||
|
||||
To delete all non-hd videos in a folder:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./curator.py list -del -filters:lowres -dir/-files:"/mnt/media/"
|
||||
|
||||
To delete all videos in a folder with encoding errors:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./curator.py list -del -filters:fferror -dir/-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 -dir/-files:"/mnt/media/"
|
||||
|
||||
To delete all videos in a folder:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./curator.py list -del -filters:lowres -dir/-files:"/mnt/media/"
|
||||
|
||||
All these commands can have valuable use but are irrecoverable if done unintended.
|
||||
|
||||
Again, please run a few dry runs until you are acquainted with MediaCurator.
|
||||
@ -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:{"1080p":[3,4],"720p":[3,4],"case":0,"default":[3,4],"try":1,"while":1,For:2,The:0,Use:0,activ:1,after:1,again:1,all:0,also:1,ani:[3,4],audio:1,av1:[0,3,4],avi:[3,4],base:0,bash:[],batch:0,big:1,big_valu:1,bug:0,can:[0,1],chapter:1,clean:1,clone:2,code:0,codec:0,com:2,comma:[3,4],command:0,content:0,convert:[0,3,4],curat:[3,4],damag:1,databas:0,decod:1,del:[3,4],depend:1,detect:1,dir:[3,4],distribut:[1,2],don:1,doubl:[3,4],download:2,encod:0,error:0,exampl:[1,3,4],experi:1,extent:0,fabquennevil:2,face:1,failur:1,featur:1,feel:1,few:1,fferror:[3,4],ffmpeg:0,file:[3,4],filenam:[3,4],filter:[0,3,4],find:0,flv:[3,4],format:[3,4],found:[0,1],frame:1,free:1,from:0,git:2,github:[0,1],gnu:2,happen:1,header:1,here:1,http:2,index:[],inform:[0,1],instal:0,issu:0,its:1,latest:1,like:1,line:0,linux:2,list:[0,3,4],lowr:[3,4],m4v:[3,4],mai:1,manag:0,manual:0,media2:[3,4],media:[0,3,4],mediacur:[1,2],medlist:[3,4],miss:1,mkv:[3,4],mnt:[3,4],modern:0,modul:[],more:0,most:1,move:1,movi:[3,4],mp4:[3,4],mpeg4:[3,4],mpeg:[1,3,4],mpg:[3,4],multipl:[3,4],necessarli:1,next:1,now:2,occur:1,old:[1,3,4],onli:2,open:1,option:[1,3,4],other:0,out:[3,4],output:1,packag:2,page:[],pip:2,possibl:1,print:[1,3,4],project:1,python:0,quickstart:0,quit:1,raw:1,recod:0,recur:1,referenc:1,repair:0,report:1,repositori:1,requir:2,resolut:0,run:1,search:[],segfault:1,sei:1,separ:[3,4],serv:1,some:1,sourc:[0,1],step:1,suggest:1,take:1,thi:2,too:1,tool:0,track:1,txt:[2,3,4],type:1,uhd:[3,4],updat:1,use:[3,4],used:1,using:1,valu:[3,4],verbos:[1,3,4],veri:1,version:1,vid:[3,4],video:[0,1],want:1,warn:0,when:1,wich:1,without:0,wmv3:[3,4],wmv:[3,4],work:2,x264:[3,4],x265:[0,3,4],you:1,your:1},titles:["Welcome to MediaCurator\u2019s documentation!","Errors","Installation","Manual","Quickstart","Use cases","Warnings"],titleterms:{"case":5,Use:5,bug:1,document:0,encod:1,error:1,ffmpeg:[1,2],from:2,github:2,indic:[],instal:2,issu:1,manual:3,mediacur:0,other:1,quickstart:4,repair:1,tabl:[],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:{"1080p":[3,4],"720p":[3,4],"case":0,"default":[3,4],"try":1,"while":1,For:2,The:0,Use:0,acquaint:6,activ:1,after:1,again:[1,6],all:[0,6],also:1,ani:[3,4],audio:1,av1:[0,3,4],avi:[3,4],base:0,bash:[],batch:0,befor:6,behavior:6,big:1,big_valu:1,bug:0,can:[0,1,6],chapter:1,clean:1,clone:2,code:0,codec:0,com:2,comma:[3,4],command:[0,6],content:0,convert:[0,3,4,6],curat:[3,4,6],damag:[1,6],databas:0,decod:1,del:[3,4,6],delet:6,depend:1,detect:1,dir:[3,4,6],distribut:[1,2],don:1,done:6,doubl:[3,4],download:2,dry:6,encod:[0,6],error:[0,6],exampl:[1,3,4],expect:6,experi:1,extent:0,fabquennevil:2,face:1,failur:1,featur:[1,6],feel:1,few:[1,6],fferror:[3,4,6],ffmpeg:0,file:[3,4,6],filenam:[3,4],filter:[0,3,4,6],find:0,flag:6,flv:[3,4],folder:6,format:[3,4],found:[0,1],frame:1,free:1,from:0,get:6,git:2,github:[0,1],gnu:2,happen:1,have:6,header:1,here:[1,6],http:2,index:[],inform:[0,1],instal:0,irrecover:6,irrirrepar:6,issu:0,its:1,latest:1,librari:6,like:1,line:0,linux:2,list:[0,3,4,6],lowr:[3,4,6],m4v:[3,4],mai:1,manag:0,manual:0,media2:[3,4],media:[0,3,4,6],mediacur:[1,2,6],medlist:[3,4],miss:1,mkv:[3,4],mnt:[3,4,6],modern:0,modul:[],more:0,most:1,move:1,movi:[3,4],mp4:[3,4],mpeg4:[3,4],mpeg:[1,3,4],mpg:[3,4],multipl:[3,4],necessarli:1,next:1,non:6,now:2,occur:1,old:[1,3,4],onli:2,open:1,option:[1,3,4],other:0,out:[3,4],output:1,packag:2,page:[],pip:2,pleas:6,possibl:1,print:[1,3,4],project:1,properli:6,python:0,quickstart:0,quit:1,raw:1,recod:0,recur:1,referenc:1,repair:[0,6],report:1,repositori:1,requir:2,resolut:0,run:[1,6],search:[],segfault:1,sei:1,separ:[3,4],serv:1,some:1,sourc:[0,1],step:1,suggest:1,take:1,thi:2,too:1,tool:0,track:1,txt:[2,3,4],type:1,uhd:[3,4],unintend:6,until:6,updat:1,use:[3,4,6],used:[1,6],using:[1,6],valu:[3,4],valuabl:6,verbos:[1,3,4],veri:1,version:1,vid:[3,4],video:[0,1,6],want:1,warn:0,when:[1,6],wich:1,without:0,wmv3:[3,4],wmv:[3,4],work:2,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,bug:1,document:0,encod:1,error:1,ffmpeg:[1,2],from:2,github:2,indic:[],instal:2,issu:1,manual:3,mediacur:0,other:1,quickstart:4,repair:1,tabl:[],warn:6,welcom:0}})
|
||||
@ -36,6 +36,26 @@
|
||||
|
||||
<div class="section" id="warnings">
|
||||
<h1>Warnings<a class="headerlink" href="#warnings" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Before using the delete feature please run a few dry runs to get acquainted with MediaCurator as you it can irrirreparably 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 -dir/-files:<span class="s2">"/mnt/media/"</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<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 -dir/-files:<span class="s2">"/mnt/media/"</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 -dir/-files:<span class="s2">"/mnt/media/"</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 -dir/-files:<span class="s2">"/mnt/media/"</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>All these commands can have valuable use but are irrecoverable if done unintended.</p>
|
||||
<p>Again, please run a few dry runs until you are acquainted with MediaCurator.</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -1,3 +1,35 @@
|
||||
========
|
||||
Warnings
|
||||
========
|
||||
|
||||
Before using the delete feature please run a few dry runs to get acquainted with MediaCurator as you it can irrirreparably damage your media library when not used properly.
|
||||
|
||||
When using the -del flag here is the expected behavior:
|
||||
|
||||
To delete all non-hd videos in a folder:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./curator.py list -del -filters:lowres -dir/-files:"/mnt/media/"
|
||||
|
||||
To delete all videos in a folder with encoding errors:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./curator.py list -del -filters:fferror -dir/-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 -dir/-files:"/mnt/media/"
|
||||
|
||||
To delete all videos in a folder:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./curator.py list -del -filters:lowres -dir/-files:"/mnt/media/"
|
||||
|
||||
All these commands can have valuable use but are irrecoverable if done unintended.
|
||||
|
||||
Again, please run a few dry runs until you are acquainted with MediaCurator.
|
||||
@ -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:{"1080p":[3,4],"720p":[3,4],"case":0,"default":[3,4],"try":1,"while":1,For:2,The:0,Use:0,activ:1,after:1,again:1,all:0,also:1,ani:[3,4],audio:1,av1:[0,3,4],avi:[3,4],base:0,bash:[],batch:0,big:1,big_valu:1,bug:0,can:[0,1],chapter:1,clean:1,clone:2,code:0,codec:0,com:2,comma:[3,4],command:0,content:0,convert:[0,3,4],curat:[3,4],damag:1,databas:0,decod:1,del:[3,4],depend:1,detect:1,dir:[3,4],distribut:[1,2],don:1,doubl:[3,4],download:2,encod:0,error:0,exampl:[1,3,4],experi:1,extent:0,fabquennevil:2,face:1,failur:1,featur:1,feel:1,few:1,fferror:[3,4],ffmpeg:0,file:[3,4],filenam:[3,4],filter:[0,3,4],find:0,flv:[3,4],format:[3,4],found:[0,1],frame:1,free:1,from:0,git:2,github:[0,1],gnu:2,happen:1,header:1,here:1,http:2,index:[],inform:[0,1],instal:0,issu:0,its:1,latest:1,like:1,line:0,linux:2,list:[0,3,4],lowr:[3,4],m4v:[3,4],mai:1,manag:0,manual:0,media2:[3,4],media:[0,3,4],mediacur:[1,2],medlist:[3,4],miss:1,mkv:[3,4],mnt:[3,4],modern:0,modul:[],more:0,most:1,move:1,movi:[3,4],mp4:[3,4],mpeg4:[3,4],mpeg:[1,3,4],mpg:[3,4],multipl:[3,4],necessarli:1,next:1,now:2,occur:1,old:[1,3,4],onli:2,open:1,option:[1,3,4],other:0,out:[3,4],output:1,packag:2,page:[],pip:2,possibl:1,print:[1,3,4],project:1,python:0,quickstart:0,quit:1,raw:1,recod:0,recur:1,referenc:1,repair:0,report:1,repositori:1,requir:2,resolut:0,run:1,search:[],segfault:1,sei:1,separ:[3,4],serv:1,some:1,sourc:[0,1],step:1,suggest:1,take:1,thi:2,too:1,tool:0,track:1,txt:[2,3,4],type:1,uhd:[3,4],updat:1,use:[3,4],used:1,using:1,valu:[3,4],verbos:[1,3,4],veri:1,version:1,vid:[3,4],video:[0,1],want:1,warn:0,when:1,wich:1,without:0,wmv3:[3,4],wmv:[3,4],work:2,x264:[3,4],x265:[0,3,4],you:1,your:1},titles:["Welcome to MediaCurator\u2019s documentation!","Errors","Installation","Manual","Quickstart","Use cases","Warnings"],titleterms:{"case":5,Use:5,bug:1,document:0,encod:1,error:1,ffmpeg:[1,2],from:2,github:2,indic:[],instal:2,issu:1,manual:3,mediacur:0,other:1,quickstart:4,repair:1,tabl:[],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:{"1080p":[3,4],"720p":[3,4],"case":0,"default":[3,4],"try":1,"while":1,For:2,The:0,Use:0,acquaint:6,activ:1,after:1,again:[1,6],all:[0,6],also:1,ani:[3,4],audio:1,av1:[0,3,4],avi:[3,4],base:0,bash:[],batch:0,befor:6,behavior:6,big:1,big_valu:1,bug:0,can:[0,1,6],chapter:1,clean:1,clone:2,code:0,codec:0,com:2,comma:[3,4],command:[0,6],content:0,convert:[0,3,4,6],curat:[3,4,6],damag:[1,6],databas:0,decod:1,del:[3,4,6],delet:6,depend:1,detect:1,dir:[3,4,6],distribut:[1,2],don:1,done:6,doubl:[3,4],download:2,dry:6,encod:[0,6],error:[0,6],exampl:[1,3,4],expect:6,experi:1,extent:0,fabquennevil:2,face:1,failur:1,featur:[1,6],feel:1,few:[1,6],fferror:[3,4,6],ffmpeg:0,file:[3,4,6],filenam:[3,4],filter:[0,3,4,6],find:0,flag:6,flv:[3,4],folder:6,format:[3,4],found:[0,1],frame:1,free:1,from:0,get:6,git:2,github:[0,1],gnu:2,happen:1,have:6,header:1,here:[1,6],http:2,index:[],inform:[0,1],instal:0,irrecover:6,irrirrepar:6,issu:0,its:1,latest:1,librari:6,like:1,line:0,linux:2,list:[0,3,4,6],lowr:[3,4,6],m4v:[3,4],mai:1,manag:0,manual:0,media2:[3,4],media:[0,3,4,6],mediacur:[1,2,6],medlist:[3,4],miss:1,mkv:[3,4],mnt:[3,4,6],modern:0,modul:[],more:0,most:1,move:1,movi:[3,4],mp4:[3,4],mpeg4:[3,4],mpeg:[1,3,4],mpg:[3,4],multipl:[3,4],necessarli:1,next:1,non:6,now:2,occur:1,old:[1,3,4],onli:2,open:1,option:[1,3,4],other:0,out:[3,4],output:1,packag:2,page:[],pip:2,pleas:6,possibl:1,print:[1,3,4],project:1,properli:6,python:0,quickstart:0,quit:1,raw:1,recod:0,recur:1,referenc:1,repair:[0,6],report:1,repositori:1,requir:2,resolut:0,run:[1,6],search:[],segfault:1,sei:1,separ:[3,4],serv:1,some:1,sourc:[0,1],step:1,suggest:1,take:1,thi:2,too:1,tool:0,track:1,txt:[2,3,4],type:1,uhd:[3,4],unintend:6,until:6,updat:1,use:[3,4,6],used:[1,6],using:[1,6],valu:[3,4],valuabl:6,verbos:[1,3,4],veri:1,version:1,vid:[3,4],video:[0,1,6],want:1,warn:0,when:[1,6],wich:1,without:0,wmv3:[3,4],wmv:[3,4],work:2,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,bug:1,document:0,encod:1,error:1,ffmpeg:[1,2],from:2,github:2,indic:[],instal:2,issu:1,manual:3,mediacur:0,other:1,quickstart:4,repair:1,tabl:[],warn:6,welcom:0}})
|
||||
@ -36,6 +36,26 @@
|
||||
|
||||
<div class="section" id="warnings">
|
||||
<h1>Warnings<a class="headerlink" href="#warnings" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Before using the delete feature please run a few dry runs to get acquainted with MediaCurator as you it can irrirreparably 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 -dir/-files:<span class="s2">"/mnt/media/"</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<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 -dir/-files:<span class="s2">"/mnt/media/"</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 -dir/-files:<span class="s2">"/mnt/media/"</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 -dir/-files:<span class="s2">"/mnt/media/"</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>All these commands can have valuable use but are irrecoverable if done unintended.</p>
|
||||
<p>Again, please run a few dry runs until you are acquainted with MediaCurator.</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
docsource/source/_build/html/.doctrees/usage/manual.doctree
Normal file
BIN
docsource/source/_build/html/.doctrees/usage/manual.doctree
Normal file
Binary file not shown.
Binary file not shown.
BIN
docsource/source/_build/html/.doctrees/usage/warnings.doctree
Normal file
BIN
docsource/source/_build/html/.doctrees/usage/warnings.doctree
Normal file
Binary file not shown.
@ -7,20 +7,28 @@
|
||||
Welcome to MediaCurator's documentation!
|
||||
========================================
|
||||
|
||||
MediaCurator is a Python command line tool to manage a media database.
|
||||
|
||||
* List all the video's and their information with or without filters
|
||||
* Batch find and repair/convert videos with encoding errors
|
||||
* Batch recode videos to more modern codecs (x265 / AV1) based on filters: extentions, codecs, resolutions ...
|
||||
|
||||
The source code can be found on `GitHub <https://github.com/fabquenneville/MediaCurator>`_
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Contents:
|
||||
|
||||
usage/warnings
|
||||
usage/installation
|
||||
usage/quickstart
|
||||
usage/manual
|
||||
usage/use_cases
|
||||
usage/errors
|
||||
|
||||
.. Indices and tables
|
||||
.. ==================
|
||||
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`modindex`
|
||||
* :ref:`search`
|
||||
.. * :ref:`genindex`
|
||||
.. * :ref:`modindex`
|
||||
.. * :ref:`search`
|
||||
|
||||
@ -3,12 +3,35 @@
|
||||
Errors
|
||||
======
|
||||
|
||||
FFmpeg can detect quite a few errors in the encoding of your source video's encoding. It can also be used to repair errors.
|
||||
|
||||
Repairable encoding errors
|
||||
--------------------------
|
||||
|
||||
Here are some example errors that mediacurator will print and can possibly repair by re-encoding:
|
||||
|
||||
* "Referenced QT chapter track not found"
|
||||
* "Error, header damaged or not MPEG-4 header"
|
||||
* "Header missing"
|
||||
* "SEI type"
|
||||
* "no frame!"
|
||||
* "Error while decoding MPEG audio frame."
|
||||
* "big_values too big"
|
||||
* ...
|
||||
|
||||
FFmpeg issues
|
||||
-------------
|
||||
|
||||
While using FFmpeg depending on your version you may also face other errors like segfaults. MediaCurator will also print information when that occurs and move on to the next video after cleaning up after failure.
|
||||
|
||||
If that happens there are a few steps you can take:
|
||||
|
||||
|
||||
"Referenced QT chapter track not found",
|
||||
"Error, header damaged or not MPEG-4 header",
|
||||
"Header missing",
|
||||
"SEI type",
|
||||
"no frame!",
|
||||
"Error while decoding MPEG audio frame.",
|
||||
"big_values too big"
|
||||
* `Update FFmpeg <https://ffmpeg.org/download.html>`_ to its latest version as it is a very active project and most distributions serve old versions in their repositories
|
||||
* Run MediaCurator with the verbose print option wich will print the raw FFmpeg output
|
||||
* Try again: In my experience some errors don't necessarly recur...
|
||||
|
||||
Other bugs
|
||||
----------
|
||||
|
||||
If you face other bugs, issues or want to suggest features feel free to open a bug report on `GitHub <https://github.com/fabquenneville/MediaCurator/issues>`_
|
||||
31
docsource/source/_build/html/_sources/usage/manual.rst.txt
Normal file
31
docsource/source/_build/html/_sources/usage/manual.rst.txt
Normal file
@ -0,0 +1,31 @@
|
||||
======
|
||||
Manual
|
||||
======
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./curator.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]
|
||||
[-print:list,formated,verbose]
|
||||
[-dir/-files:"/mnt/media/",,"/mnt/media2/"]
|
||||
|
||||
**for multiple files or filenames use double comma separated values ",,"**
|
||||
|
||||
default options are:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-in:any
|
||||
-filters:
|
||||
-out:mkv,x265
|
||||
-print:list
|
||||
|
||||
Examples:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./curator.py list -filters:old -print:formated -dir:/mnt/media/ >> ../medlist.txt
|
||||
./curator.py convert -del -filters:mpeg4 -out:av1,mp4 -dir:"/mnt/media/Movies/"
|
||||
./curator.py convert -del -in:avi,mpg -print:formated,verbose -dir:/mnt/media/
|
||||
@ -1,4 +1,31 @@
|
||||
|
||||
==========
|
||||
Quickstart
|
||||
==========
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./curator.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]
|
||||
[-print:list,formated,verbose]
|
||||
[-dir/-files:"/mnt/media/",,"/mnt/media2/"]
|
||||
|
||||
**for multiple files or filenames use double comma separated values ",,"**
|
||||
|
||||
default options are:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-in:any
|
||||
-filters:
|
||||
-out:mkv,x265
|
||||
-print:list
|
||||
|
||||
Examples:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./curator.py list -filters:old -print:formated -dir:/mnt/media/ >> ../medlist.txt
|
||||
./curator.py convert -del -filters:mpeg4 -out:av1,mp4 -dir:"/mnt/media/Movies/"
|
||||
./curator.py convert -del -in:avi,mpg -print:formated,verbose -dir:/mnt/media/
|
||||
|
||||
@ -0,0 +1,7 @@
|
||||
========
|
||||
Warnings
|
||||
========
|
||||
|
||||
Before using the delete feature please run a few dry runs to get acquainted with MediaCurator as you it can irrirreparably damage your media library when not used properly.
|
||||
|
||||
When using the -del flag here is the expected behavior:
|
||||
@ -61,8 +61,10 @@
|
||||
<h3>Navigation</h3>
|
||||
<p class="caption"><span class="caption-text">Contents:</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>
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
<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="Installation" href="usage/installation.html" />
|
||||
<link rel="next" title="Warnings" href="usage/warnings.html" />
|
||||
|
||||
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
|
||||
|
||||
@ -35,25 +35,31 @@
|
||||
|
||||
<div class="section" id="welcome-to-mediacurator-s-documentation">
|
||||
<h1>Welcome to MediaCurator’s documentation!<a class="headerlink" href="#welcome-to-mediacurator-s-documentation" title="Permalink to this headline">¶</a></h1>
|
||||
<p>MediaCurator is a Python command line tool to manage a media database.</p>
|
||||
<ul class="simple">
|
||||
<li><p>List all the video’s and their information with or without filters</p></li>
|
||||
<li><p>Batch find and repair/convert videos with encoding errors</p></li>
|
||||
<li><p>Batch recode videos to more modern codecs (x265 / AV1) based on filters: extentions, codecs, resolutions …</p></li>
|
||||
</ul>
|
||||
<p>The source code can be found on <a class="reference external" href="https://github.com/fabquenneville/MediaCurator">GitHub</a></p>
|
||||
<div class="toctree-wrapper compound">
|
||||
<p class="caption"><span class="caption-text">Contents:</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><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usage/installation.html#install-ffmpeg">Install FFmpeg</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usage/installation.html#install-from-github">Install from GitHub</a></li>
|
||||
</ul>
|
||||
</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>
|
||||
<li class="toctree-l1"><a class="reference internal" href="usage/errors.html">Errors</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usage/errors.html#repairable-encoding-errors">Repairable encoding errors</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usage/errors.html#ffmpeg-issues">FFmpeg issues</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usage/errors.html#other-bugs">Other bugs</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="indices-and-tables">
|
||||
<h2>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="py-modindex.html"><span class="std std-ref">Module Index</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></p></li>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -80,8 +86,10 @@
|
||||
<h3>Navigation</h3>
|
||||
<p class="caption"><span class="caption-text">Contents:</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>
|
||||
@ -90,7 +98,7 @@
|
||||
<h3>Related Topics</h3>
|
||||
<ul>
|
||||
<li><a href="#">Documentation overview</a><ul>
|
||||
<li>Next: <a href="usage/installation.html" title="next chapter">Installation</a></li>
|
||||
<li>Next: <a href="usage/warnings.html" title="next chapter">Warnings</a></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Binary file not shown.
@ -80,8 +80,10 @@
|
||||
<h3>Navigation</h3>
|
||||
<p class="caption"><span class="caption-text">Contents:</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>
|
||||
|
||||
@ -1 +1 @@
|
||||
Search.setIndex({docnames:["index","usage/errors","usage/installation","usage/quickstart","usage/use_cases"],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/quickstart.rst","usage/use_cases.rst"],objects:{},objnames:{},objtypes:{},terms:{"case":0,"while":1,For:2,Use:0,audio:1,big:1,big_valu:1,chapter:1,clone:2,com:2,content:0,damag:1,decod:1,distribut:2,download:2,error:0,fabquennevil:2,ffmpeg:0,found:1,frame:1,from:0,git:2,github:0,gnu:2,header:1,http:2,index:0,instal:0,linux:2,mediacur:2,miss:1,modul:0,mpeg:1,now:2,onli:2,packag:2,page:0,pip:2,quickstart:0,referenc:1,requir:2,search:0,sei:1,thi:2,too:1,track:1,txt:2,type:1,work:2},titles:["Welcome to MediaCurator\u2019s documentation!","Errors","Installation","Quickstart","Use cases"],titleterms:{"case":4,For:[],Use:4,distribut:[],document:0,download:[],error:1,ffmpeg:2,from:2,github:2,gnu:[],indic:0,instal:2,linux:[],mediacur:0,now:[],onli:[],packag:[],quickstart:3,requir:[],tabl:0,thi:[],welcom:0,work:[]}})
|
||||
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:{"1080p":[3,4],"720p":[3,4],"case":0,"default":[3,4],"try":1,"while":1,For:2,The:0,Use:0,acquaint:6,activ:1,after:1,again:1,all:0,also:1,ani:[3,4],audio:1,av1:[0,3,4],avi:[3,4],base:0,batch:0,befor:6,behavior:6,big:1,big_valu:1,bug:0,can:[0,1,6],chapter:1,clean:1,clone:2,code:0,codec:0,com:2,comma:[3,4],command:0,content:0,convert:[0,3,4],curat:[3,4],damag:[1,6],databas:0,decod:1,del:[3,4,6],delet:6,depend:1,detect:1,dir:[3,4],distribut:[1,2],don:1,doubl:[3,4],download:2,dry:6,encod:0,error:0,exampl:[1,3,4],expect:6,experi:1,extent:0,fabquennevil:2,face:1,failur:1,featur:[1,6],feel:1,few:[1,6],fferror:[3,4],ffmpeg:0,file:[3,4],filenam:[3,4],filter:[0,3,4],find:0,flag:6,flv:[3,4],format:[3,4],found:[0,1],frame:1,free:1,from:0,get:6,git:2,github:[0,1],gnu:2,happen:1,header:1,here:[1,6],http:2,index:[],inform:[0,1],instal:0,irrirrepar:6,issu:0,its:1,latest:1,librari:6,like:1,line:0,linux:2,list:[0,3,4],lowr:[3,4],m4v:[3,4],mai:1,manag:0,manual:0,media2:[3,4],media:[0,3,4,6],mediacur:[1,2,6],medlist:[3,4],miss:1,mkv:[3,4],mnt:[3,4],modern:0,modul:[],more:0,most:1,move:1,movi:[3,4],mp4:[3,4],mpeg4:[3,4],mpeg:[1,3,4],mpg:[3,4],multipl:[3,4],necessarli:1,next:1,now:2,occur:1,old:[1,3,4],onli:2,open:1,option:[1,3,4],other:0,out:[3,4],output:1,packag:2,page:[],pip:2,pleas:6,possibl:1,print:[1,3,4],project:1,properli:6,python:0,quickstart:0,quit:1,raw:1,recod:0,recur:1,referenc:1,repair:0,report:1,repositori:1,requir:2,resolut:0,run:[1,6],search:[],segfault:1,sei:1,separ:[3,4],serv:1,some:1,sourc:[0,1],step:1,suggest:1,take:1,thi:2,too:1,tool:0,track:1,txt:[2,3,4],type:1,uhd:[3,4],updat:1,use:[3,4],used:[1,6],using:[1,6],valu:[3,4],verbos:[1,3,4],veri:1,version:1,vid:[3,4],video:[0,1],want:1,warn:0,when:[1,6],wich:1,without:0,wmv3:[3,4],wmv:[3,4],work:2,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,For:[],Use:5,bug:1,distribut:[],document:0,download:[],encod:1,error:1,ffmpeg:[1,2],from:2,github:2,gnu:[],indic:[],instal:2,issu:1,linux:[],manual:3,mediacur:0,now:[],onli:[],other:1,packag:[],quickstart:4,repair:1,requir:[],tabl:[],thi:[],warn:6,welcom:0,work:[]}})
|
||||
@ -35,13 +35,35 @@
|
||||
|
||||
<div class="section" id="errors">
|
||||
<h1>Errors<a class="headerlink" href="#errors" title="Permalink to this headline">¶</a></h1>
|
||||
<p>“Referenced QT chapter track not found”,
|
||||
“Error, header damaged or not MPEG-4 header”,
|
||||
“Header missing”,
|
||||
“SEI type”,
|
||||
“no frame!”,
|
||||
“Error while decoding MPEG audio frame.”,
|
||||
“big_values too big”</p>
|
||||
<p>FFmpeg can detect quite a few errors in the encoding of your source video’s encoding. It can also be used to repair errors.</p>
|
||||
<div class="section" id="repairable-encoding-errors">
|
||||
<h2>Repairable encoding errors<a class="headerlink" href="#repairable-encoding-errors" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Here are some example errors that mediacurator will print and can possibly repair by re-encoding:</p>
|
||||
<ul class="simple">
|
||||
<li><p>“Referenced QT chapter track not found”</p></li>
|
||||
<li><p>“Error, header damaged or not MPEG-4 header”</p></li>
|
||||
<li><p>“Header missing”</p></li>
|
||||
<li><p>“SEI type”</p></li>
|
||||
<li><p>“no frame!”</p></li>
|
||||
<li><p>“Error while decoding MPEG audio frame.”</p></li>
|
||||
<li><p>“big_values too big”</p></li>
|
||||
<li><p>…</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="ffmpeg-issues">
|
||||
<h2>FFmpeg issues<a class="headerlink" href="#ffmpeg-issues" title="Permalink to this headline">¶</a></h2>
|
||||
<p>While using FFmpeg depending on your version you may also face other errors like segfaults. MediaCurator will also print information when that occurs and move on to the next video after cleaning up after failure.</p>
|
||||
<p>If that happens there are a few steps you can take:</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="https://ffmpeg.org/download.html">Update FFmpeg</a> to its latest version as it is a very active project and most distributions serve old versions in their repositories</p></li>
|
||||
<li><p>Run MediaCurator with the verbose print option wich will print the raw FFmpeg output</p></li>
|
||||
<li><p>Try again: In my experience some errors don’t necessarly recur…</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="other-bugs">
|
||||
<h2>Other bugs<a class="headerlink" href="#other-bugs" title="Permalink to this headline">¶</a></h2>
|
||||
<p>If you face other bugs, issues or want to suggest features feel free to open a bug report on <a class="reference external" href="https://github.com/fabquenneville/MediaCurator/issues">GitHub</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -66,10 +88,17 @@
|
||||
<h3>Navigation</h3>
|
||||
<p class="caption"><span class="caption-text">Contents:</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="warnings.html">Warnings</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="manual.html">Manual</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="use_cases.html">Use cases</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Errors</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Errors</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#repairable-encoding-errors">Repairable encoding errors</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#ffmpeg-issues">FFmpeg issues</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#other-bugs">Other bugs</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="relations">
|
||||
|
||||
140
docsource/source/_build/html/usage/manual.html
Normal file
140
docsource/source/_build/html/usage/manual.html
Normal file
@ -0,0 +1,140 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Manual — 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="Use cases" href="use_cases.html" />
|
||||
<link rel="prev" title="Quickstart" href="quickstart.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="manual">
|
||||
<h1>Manual<a class="headerlink" href="#manual" 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>
|
||||
<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>
|
||||
<span class="o">[</span>-print:list,formated,verbose<span class="o">]</span>
|
||||
<span class="o">[</span>-dir/-files:<span class="s2">"/mnt/media/"</span>,,<span class="s2">"/mnt/media2/"</span><span class="o">]</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>for multiple files or filenames use double comma separated values “,,”</strong></p>
|
||||
<p>default options are:</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>-in:any
|
||||
-filters:
|
||||
-out:mkv,x265
|
||||
-print:list
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Examples:</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -filters:old -print:formated -dir:/mnt/media/ >> ../medlist.txt
|
||||
./curator.py convert -del -filters:mpeg4 -out:av1,mp4 -dir:<span class="s2">"/mnt/media/Movies/"</span>
|
||||
./curator.py convert -del -in:avi,mpg -print:formated,verbose -dir:/mnt/media/
|
||||
</pre></div>
|
||||
</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">Contents:</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="warnings.html">Warnings</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Manual</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="use_cases.html">Use cases</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="errors.html">Errors</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="relations">
|
||||
<h3>Related Topics</h3>
|
||||
<ul>
|
||||
<li><a href="../index.html">Documentation overview</a><ul>
|
||||
<li>Previous: <a href="quickstart.html" title="previous chapter">Quickstart</a></li>
|
||||
<li>Next: <a href="use_cases.html" title="next chapter">Use cases</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">
|
||||
©2020, Fabrice Quenneville.
|
||||
|
||||
|
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 3.3.1</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||||
|
||||
|
|
||||
<a href="../_sources/usage/manual.rst.txt"
|
||||
rel="nofollow">Page source</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -16,7 +16,7 @@
|
||||
<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="Use cases" href="use_cases.html" />
|
||||
<link rel="next" title="Manual" href="manual.html" />
|
||||
<link rel="prev" title="Installation" href="installation.html" />
|
||||
|
||||
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
||||
@ -36,6 +36,28 @@
|
||||
|
||||
<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>
|
||||
<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>
|
||||
<span class="o">[</span>-print:list,formated,verbose<span class="o">]</span>
|
||||
<span class="o">[</span>-dir/-files:<span class="s2">"/mnt/media/"</span>,,<span class="s2">"/mnt/media2/"</span><span class="o">]</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>for multiple files or filenames use double comma separated values “,,”</strong></p>
|
||||
<p>default options are:</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>-in:any
|
||||
-filters:
|
||||
-out:mkv,x265
|
||||
-print:list
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Examples:</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -filters:old -print:formated -dir:/mnt/media/ >> ../medlist.txt
|
||||
./curator.py convert -del -filters:mpeg4 -out:av1,mp4 -dir:<span class="s2">"/mnt/media/Movies/"</span>
|
||||
./curator.py convert -del -in:avi,mpg -print:formated,verbose -dir:/mnt/media/
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -60,8 +82,10 @@
|
||||
<h3>Navigation</h3>
|
||||
<p class="caption"><span class="caption-text">Contents:</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="warnings.html">Warnings</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Quickstart</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="manual.html">Manual</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="use_cases.html">Use cases</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="errors.html">Errors</a></li>
|
||||
</ul>
|
||||
@ -71,7 +95,7 @@
|
||||
<ul>
|
||||
<li><a href="../index.html">Documentation overview</a><ul>
|
||||
<li>Previous: <a href="installation.html" title="previous chapter">Installation</a></li>
|
||||
<li>Next: <a href="use_cases.html" title="next chapter">Use cases</a></li>
|
||||
<li>Next: <a href="manual.html" title="next chapter">Manual</a></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
120
docsource/source/_build/html/usage/warnings.html
Normal file
120
docsource/source/_build/html/usage/warnings.html
Normal file
@ -0,0 +1,120 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Warnings — 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="Installation" href="installation.html" />
|
||||
<link rel="prev" title="Welcome to MediaCurator’s documentation!" href="../index.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="warnings">
|
||||
<h1>Warnings<a class="headerlink" href="#warnings" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Before using the delete feature please run a few dry runs to get acquainted with MediaCurator as you it can irrirreparably damage your media library when not used properly.</p>
|
||||
<p>When using the -del flag here is the expected behavior:</p>
|
||||
</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">Contents:</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Warnings</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="manual.html">Manual</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="use_cases.html">Use cases</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="errors.html">Errors</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="relations">
|
||||
<h3>Related Topics</h3>
|
||||
<ul>
|
||||
<li><a href="../index.html">Documentation overview</a><ul>
|
||||
<li>Previous: <a href="../index.html" title="previous chapter">Welcome to MediaCurator’s documentation!</a></li>
|
||||
<li>Next: <a href="installation.html" title="next chapter">Installation</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">
|
||||
©2020, Fabrice Quenneville.
|
||||
|
||||
|
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 3.3.1</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||||
|
||||
|
|
||||
<a href="../_sources/usage/warnings.rst.txt"
|
||||
rel="nofollow">Page source</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -1,3 +1,35 @@
|
||||
========
|
||||
Warnings
|
||||
========
|
||||
|
||||
Before using the delete feature please run a few dry runs to get acquainted with MediaCurator as you it can irrirreparably damage your media library when not used properly.
|
||||
|
||||
When using the -del flag here is the expected behavior:
|
||||
|
||||
To delete all non-hd videos in a folder:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./curator.py list -del -filters:lowres -dir/-files:"/mnt/media/"
|
||||
|
||||
To delete all videos in a folder with encoding errors:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./curator.py list -del -filters:fferror -dir/-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 -dir/-files:"/mnt/media/"
|
||||
|
||||
To delete all videos in a folder:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./curator.py list -del -filters:lowres -dir/-files:"/mnt/media/"
|
||||
|
||||
All these commands can have valuable use but are irrecoverable if done unintended.
|
||||
|
||||
Again, please run a few dry runs until you are acquainted with MediaCurator.
|
||||
@ -117,12 +117,12 @@ class MediaLibrary():
|
||||
self.videos[filepath].useful = useful
|
||||
|
||||
# keep video if useful and user wants to also filter by selected resolutions
|
||||
if self.videos[filepath].useful and len([filtr for filtr in self.filters if filtr in ["lowres", "hd", "720p", "1080p", "uhd"]]) > 0:
|
||||
if self.videos[filepath].useful and len([filtr for filtr in self.filters if filtr in ["lowres", "subsd", "hd", "sd", "720p", "1080p", "uhd"]]) > 0:
|
||||
useful = False
|
||||
|
||||
if "lowres" in self.filters and self.videos[filepath].definition in ["sd"]:
|
||||
if "subsd" in self.filters and self.videos[filepath].definition in ["subsd"]:
|
||||
useful = True
|
||||
if "hd" in self.filters and self.videos[filepath].definition in ["720p", "1080p", "uhd"]:
|
||||
if "sd" in self.filters and self.videos[filepath].definition in ["sd"]:
|
||||
useful = True
|
||||
if "720p" in self.filters and self.videos[filepath].definition in ["720p"]:
|
||||
useful = True
|
||||
@ -130,6 +130,10 @@ class MediaLibrary():
|
||||
useful = True
|
||||
if "uhd" in self.filters and self.videos[filepath].definition in ["uhd"]:
|
||||
useful = True
|
||||
if "lowres" in self.filters and self.videos[filepath].definition in ["subsd", "sd"]:
|
||||
useful = True
|
||||
if "hd" in self.filters and self.videos[filepath].definition in ["720p", "1080p", "uhd"]:
|
||||
useful = True
|
||||
self.videos[filepath].useful = useful
|
||||
|
||||
# keep video if useful and user wants to also filter when there is an ffmpeg errors
|
||||
|
||||
@ -231,7 +231,9 @@ class Video():
|
||||
return "1080p"
|
||||
elif width >= 1280 or height >= 720:
|
||||
return "720p"
|
||||
elif height >= 480:
|
||||
return "sd"
|
||||
return "subsd"
|
||||
|
||||
@staticmethod
|
||||
def detect_filesize(filepath):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user