Updated docs

This commit is contained in:
Fabrice Quenneville 2020-12-14 01:38:06 -05:00
parent 2d20cad326
commit 097789bdf0
33 changed files with 127 additions and 117 deletions

View File

@ -2,7 +2,7 @@
Installation Installation
============ ============
This package (For now) will only work on GNU/Linux and requires FFMPEG installed. For now it will be distributed on `GitHub <https://github.com/fabquenneville/MediaCurator.git>`_ This package has only been tested on GNU/Linux & Windows and requires FFMPEG installed. For now it will be distributed on `GitHub <https://github.com/fabquenneville/MediaCurator.git>`_
Install FFmpeg Install FFmpeg
-------------- --------------

View File

@ -17,7 +17,7 @@ Synopsis
[-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv] [-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv]
[-out:mkv/mp4,x265/av1] [-out:mkv/mp4,x265/av1]
[-print:list,formated,verbose] [-print:list,formated,verbose]
[-dir/-files:"/mnt/media/",,"/mnt/media2/"] [-dirs/-files:"/mnt/media/",,"/mnt/media2/"]
**for multiple files or filenames use double comma separated values ",,"** **for multiple files or filenames use double comma separated values ",,"**
@ -109,8 +109,8 @@ Select the outputs for the video conversions
* verbose: Print the FFmpeg output during the video conversions * verbose: Print the FFmpeg output during the video conversions
-dir: -dirs:
===== ======
["/mnt/media/",,"/mnt/media2/"] ["/mnt/media/",,"/mnt/media2/"]
The directories to scan as a **double comma** separated values list. The directories to scan as a **double comma** separated values list.
@ -128,11 +128,11 @@ Examples
.. code-block:: bash .. code-block:: bash
# List all videos with old codec in formated format # List all videos with old codec in formated format
./curator.py list -filters:old -print:formated -dir:/mnt/media/ >> ../medlist.txt ./curator.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 # 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 -dir:"/mnt/media/Movies/" ./curator.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 # 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 -dir:/mnt/media/ ./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
More examples in :doc:`use_cases` More examples in :doc:`use_cases`

View File

@ -9,7 +9,7 @@ Quickstart
[-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv] [-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv]
[-out:mkv/mp4,x265/av1] [-out:mkv/mp4,x265/av1]
[-print:list,formated,verbose] [-print:list,formated,verbose]
[-dir/-files:"/mnt/media/",,"/mnt/media2/"] [-dirs/-files:"/mnt/media/",,"/mnt/media2/"]
**for multiple files or filenames use double comma separated values ",,"** **for multiple files or filenames use double comma separated values ",,"**
@ -27,10 +27,10 @@ Examples:
.. code-block:: bash .. code-block:: bash
# List all videos with old codec in formated format # List all videos with old codec in formated format
./curator.py list -filters:old -print:formated -dir:/mnt/media/ >> ../medlist.txt ./curator.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 # 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 -dir:"/mnt/media/Movies/" ./curator.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 # 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 -dir:/mnt/media/ ./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
More examples in :doc:`use_cases` More examples in :doc:`use_cases`

View File

@ -21,13 +21,13 @@ List all videos with old codec in formated format
.. code-block:: bash .. code-block:: bash
./curator.py list -filters:old -dir:/mnt/media/ ./curator.py list -filters:old -dirs:/mnt/media/
List all videos with substandard definitions with a formated output List all videos with substandard definitions with a formated output
.. code-block:: bash .. code-block:: bash
./curator.py list -filters:subsd -print:formated -dir:/mnt/media/ ./curator.py list -filters:subsd -print:formated -dirs:/mnt/media/
.. _purge: .. _purge:
@ -41,19 +41,19 @@ List and delete all videos using the `Windows Media Video <https://en.wikipedia.
.. code-block:: bash .. code-block:: bash
./curator.py list -del -filters:wmv -dir:/mnt/media/ ./curator.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>`_ List and delete all videos using an `Audio Video Interleave <https://en.wikipedia.org/wiki/Audio_Video_Interleave>`_
.. code-block:: bash .. code-block:: bash
./curator.py list -del -in:avi -dir:/mnt/media/ ./curator.py list -del -in:avi -dirs:/mnt/media/
List and delete any videos with encoding errors List and delete any videos with encoding errors
.. code-block:: bash .. code-block:: bash
./curator.py list -del -filters:fferror -dir:/mnt/media/ ./curator.py list -del -filters:fferror -dirs:/mnt/media/
@ -66,19 +66,19 @@ List all videos with encoding errors
.. code-block:: bash .. code-block:: bash
./curator.py list -filters:fferror -dir:/mnt/media/ ./curator.py list -filters:fferror -dirs:/mnt/media/
List and delete any videos with encoding errors List and delete any videos with encoding errors
.. code-block:: bash .. code-block:: bash
./curator.py list -del -filters:fferror -dir:/mnt/media/ ./curator.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 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 .. code-block:: bash
./curator.py convert -del -filters:fferror -dir:"/mnt/media/Movies/" ./curator.py convert -del -filters:fferror -dirs:"/mnt/media/Movies/"
.. _convert: .. _convert:
@ -90,16 +90,16 @@ Convert all videos with old codecs to `High Efficiency Video Coding <https://en.
.. code-block:: bash .. code-block:: bash
./curator.py convert -del -filters:old -dir:"/mnt/media/Movies/" ./curator.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 Convert all videos with the codec mpeg4 to an mkv container using the av1 video codec
.. code-block:: bash .. code-block:: bash
./curator.py convert -filters:mpeg4 -out:av1,mkv -dir:"/mnt/media/Movies/" ./curator.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 Convert any video with avi or mpg extensions, print formated text including ffmpeg's output and then delete the originals
.. code-block:: bash .. code-block:: bash
./curator.py convert -del -in:avi,mpg -print:formated,verbose -dir:/mnt/media/ ./curator.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 .. code-block:: bash
./curator.py list -del -filters:lowres -dir/-files:"/mnt/media/" ./curator.py list -del -filters:lowres -dirs/-files:"/mnt/media/"
To delete all substandard videos in a folder: To delete all substandard videos in a folder:
.. code-block:: bash .. code-block:: bash
./curator.py list -del -filters:subsd -dir/-files:"/mnt/media/" ./curator.py list -del -filters:subsd -dirs/-files:"/mnt/media/"
.. image:: ../_static/Screenshot-delete.png .. image:: ../_static/Screenshot-delete.png
:width: 600 :width: 600
@ -26,19 +26,19 @@ To delete all videos in a folder with encoding errors:
.. code-block:: bash .. code-block:: bash
./curator.py list -del -filters:fferror -dir/-files:"/mnt/media/" ./curator.py list -del -filters:fferror -dirs/-files:"/mnt/media/"
To convert (repair) then delete all videos in a folder with encoding errors: To convert (repair) then delete all videos in a folder with encoding errors:
.. code-block:: bash .. code-block:: bash
./curator.py convert -del -filters:fferror -dir/-files:"/mnt/media/" ./curator.py convert -del -filters:fferror -dirs/-files:"/mnt/media/"
To delete all videos in a folder: To delete all videos in a folder:
.. code-block:: bash .. code-block:: bash
./curator.py list -del -filters:lowres -dir/-files:"/mnt/media/" ./curator.py list -del -filters:lowres -dirs/-files:"/mnt/media/"
All these commands can have valuable use but are irrecoverable if done unintended. All these commands can have valuable use but are irrecoverable if done unintended.

View File

@ -1,6 +1,6 @@
# Sphinx inventory version 2 # Sphinx inventory version 2
# Project: MediaCurator # Project: MediaCurator
# Version: # Version: 0.0.1
# The remainder of this file is compressed using zlib. # The remainder of this file is compressed using zlib.
xÚ•½NÄ0 Ç÷<…¬±2N*Bˆñd·<>à6^ƒ×ãIh“”¶‰cíÿÏvlsk^ÈðA\(|$Õ9D<39>-<2D>EO[Žžüé.hu|øUd¸Äš†œ³î_l‡ÒAâ¥i!ñžµd¤ô¶Ì4zS xÚ•½NÄ0 Ç÷<…¬±2N*Bˆñd·<>à6^ƒ×ãIh“”¶‰cíÿÏvlsk^ÈðA\(|$Õ9D<39>-<2D>EO[Žžüé.hu|øUd¸Äš†œ³î_l‡ÒAâ¥i!ñžµd¤ô¶Ì4zS
¸žl ËÑLñ@Š[M,lHH¼ŠƒuŸïzuÔdSÒ‡-×â€Öi5Hk'Mèë5Ö锆éá«¶»}5r_+¢¢ò<C2A2>.º–šX=(Ù,Ûeê}ØY³¬æ ]?ö˜}™¹Ëñºo€å6òFæžû3u<33>·Òø€J¥‰¬±ytÜãä))4šˆj gbzà9JþÔ§)w»€¦Xo¿möcÐkv¹¸÷É,ä+ºþ"Û_À1R±Xì ©J7o ¸žl ËÑLñ@Š[M,lHH¼ŠƒuŸïzuÔdSÒ‡-×â€Öi5Hk'Mèë5Ö锆éá«¶»}5r_+¢¢ò<C2A2>.º–šX=(Ù,Ûeê}ØY³¬æ ]?ö˜}™¹Ëñºo€å6òFæžû3u<33>·Òø€J¥‰¬±ytÜãä))4šˆj gbzà9JþÔ§)w»€¦Xo¿möcÐkv¹¸÷É,ä+ºþ"Û_À1R±Xì ©J7o

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: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,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,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:5,without:[0,3,6],wmv3:[3,4],wmv:[3,4,5],work:2,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:[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}})

View File

@ -17,7 +17,7 @@
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" /> <link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Quickstart" href="quickstart.html" /> <link rel="next" title="Quickstart" href="quickstart.html" />
<link rel="prev" title="Welcome to MediaCurators documentation!" href="../index.html" /> <link rel="prev" title="Warnings" href="warnings.html" />
<link rel="stylesheet" href="../_static/custom.css" type="text/css" /> <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
@ -36,7 +36,7 @@
<div class="section" id="installation"> <div class="section" id="installation">
<h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline"></a></h1> <h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline"></a></h1>
<p>This package (For now) will only work on GNU/Linux and requires FFMPEG installed. For now it will be distributed on <a class="reference external" href="https://github.com/fabquenneville/MediaCurator.git">GitHub</a></p> <p>This package has only been tested on GNU/Linux &amp; Windows and requires FFMPEG installed. For now it will be distributed on <a class="reference external" href="https://github.com/fabquenneville/MediaCurator.git">GitHub</a></p>
<div class="section" id="install-ffmpeg"> <div class="section" id="install-ffmpeg">
<h2>Install FFmpeg<a class="headerlink" href="#install-ffmpeg" title="Permalink to this headline"></a></h2> <h2>Install FFmpeg<a class="headerlink" href="#install-ffmpeg" title="Permalink to this headline"></a></h2>
<p><a class="reference external" href="https://ffmpeg.org/download.html">Download FFmpeg</a></p> <p><a class="reference external" href="https://ffmpeg.org/download.html">Download FFmpeg</a></p>
@ -75,12 +75,14 @@
<h3>Navigation</h3> <h3>Navigation</h3>
<p class="caption"><span class="caption-text">Contents:</span></p> <p class="caption"><span class="caption-text">Contents:</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="warnings.html">Warnings</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Installation</a><ul> <li class="toctree-l1 current"><a class="current reference internal" href="#">Installation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#install-ffmpeg">Install FFmpeg</a></li> <li class="toctree-l2"><a class="reference internal" href="#install-ffmpeg">Install FFmpeg</a></li>
<li class="toctree-l2"><a class="reference internal" href="#install-from-github">Install from GitHub</a></li> <li class="toctree-l2"><a class="reference internal" href="#install-from-github">Install from GitHub</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</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="use_cases.html">Use cases</a></li>
<li class="toctree-l1"><a class="reference internal" href="errors.html">Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="errors.html">Errors</a></li>
</ul> </ul>
@ -89,7 +91,7 @@
<h3>Related Topics</h3> <h3>Related Topics</h3>
<ul> <ul>
<li><a href="../index.html">Documentation overview</a><ul> <li><a href="../index.html">Documentation overview</a><ul>
<li>Previous: <a href="../index.html" title="previous chapter">Welcome to MediaCurators documentation!</a></li> <li>Previous: <a href="warnings.html" title="previous chapter">Warnings</a></li>
<li>Next: <a href="quickstart.html" title="next chapter">Quickstart</a></li> <li>Next: <a href="quickstart.html" title="next chapter">Quickstart</a></li>
</ul></li> </ul></li>
</ul> </ul>

View File

@ -47,7 +47,7 @@
<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>-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>-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>-print:list,formated,verbose<span class="o">]</span>
<span class="o">[</span>-dir/-files:<span class="s2">&quot;/mnt/media/&quot;</span>,,<span class="s2">&quot;/mnt/media2/&quot;</span><span class="o">]</span> <span class="o">[</span>-dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>,,<span class="s2">&quot;/mnt/media2/&quot;</span><span class="o">]</span>
</pre></div> </pre></div>
</div> </div>
<p><strong>for multiple files or filenames use double comma separated values “,,”</strong></p> <p><strong>for multiple files or filenames use double comma separated values “,,”</strong></p>
@ -131,8 +131,8 @@
<li><p>verbose: Print the FFmpeg output during the video conversions</p></li> <li><p>verbose: Print the FFmpeg output during the video conversions</p></li>
</ul> </ul>
</div> </div>
<div class="section" id="dir"> <div class="section" id="dirs">
<h3>-dir:<a class="headerlink" href="#dir" title="Permalink to this headline"></a></h3> <h3>-dirs:<a class="headerlink" href="#dirs" title="Permalink to this headline"></a></h3>
<p>[“/mnt/media/”,,”/mnt/media2/”]</p> <p>[“/mnt/media/”,,”/mnt/media2/”]</p>
<p>The directories to scan as a <strong>double comma</strong> separated values list.</p> <p>The directories to scan as a <strong>double comma</strong> separated values list.</p>
</div> </div>
@ -145,11 +145,11 @@
<div class="section" id="examples"> <div class="section" id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline"></a></h2> <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> <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 -dir:/mnt/media/ &gt;&gt; ../medlist.txt ./curator.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> <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 -dir:<span class="s2">&quot;/mnt/media/Movies/&quot;</span> ./curator.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> <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 -dir:/mnt/media/ ./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
</pre></div> </pre></div>
</div> </div>
<p>More examples in <a class="reference internal" href="use_cases.html"><span class="doc">Use cases</span></a></p> <p>More examples in <a class="reference internal" href="use_cases.html"><span class="doc">Use cases</span></a></p>

View File

@ -41,7 +41,7 @@
<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>-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>-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>-print:list,formated,verbose<span class="o">]</span>
<span class="o">[</span>-dir/-files:<span class="s2">&quot;/mnt/media/&quot;</span>,,<span class="s2">&quot;/mnt/media2/&quot;</span><span class="o">]</span> <span class="o">[</span>-dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>,,<span class="s2">&quot;/mnt/media2/&quot;</span><span class="o">]</span>
</pre></div> </pre></div>
</div> </div>
<p><strong>for multiple files or filenames use double comma separated values “,,”</strong></p> <p><strong>for multiple files or filenames use double comma separated values “,,”</strong></p>
@ -54,11 +54,11 @@
</div> </div>
<p>Examples:</p> <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> <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 -dir:/mnt/media/ &gt;&gt; ../medlist.txt ./curator.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> <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 -dir:<span class="s2">&quot;/mnt/media/Movies/&quot;</span> ./curator.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> <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 -dir:/mnt/media/ ./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
</pre></div> </pre></div>
</div> </div>
<p>More examples in <a class="reference internal" href="use_cases.html"><span class="doc">Use cases</span></a></p> <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"> <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> <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> <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 -dir:/mnt/media/ <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -filters:old -dirs:/mnt/media/
</pre></div> </pre></div>
</div> </div>
<p>List all videos with substandard definitions with a formated output</p> <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 -dir:/mnt/media/ <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -filters:subsd -print:formated -dirs:/mnt/media/
</pre></div> </pre></div>
</div> </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> <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>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> <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 -dir:/mnt/media/ <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:wmv -dirs:/mnt/media/
</pre></div> </pre></div>
</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> <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 -dir:/mnt/media/ <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -in:avi -dirs:/mnt/media/
</pre></div> </pre></div>
</div> </div>
<p>List and delete any videos with encoding errors</p> <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 -dir:/mnt/media/ <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:fferror -dirs:/mnt/media/
</pre></div> </pre></div>
</div> </div>
</div> </div>
<div class="section" id="batch-repair-encoding-errors"> <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> <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> <p>List all videos with encoding errors</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -filters:fferror -dir:/mnt/media/ <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -filters:fferror -dirs:/mnt/media/
</pre></div> </pre></div>
</div> </div>
<p>List and delete any videos with encoding errors</p> <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 -dir:/mnt/media/ <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:fferror -dirs:/mnt/media/
</pre></div> </pre></div>
</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> <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 -dir:<span class="s2">&quot;/mnt/media/Movies/&quot;</span> <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>
</pre></div> </pre></div>
</div> </div>
</div> </div>
<div class="section" id="batch-re-encode"> <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> <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> <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 -dir:<span class="s2">&quot;/mnt/media/Movies/&quot;</span> <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>
</pre></div> </pre></div>
</div> </div>
<p>Convert all videos with the codec mpeg4 to an mkv container using the av1 video codec</p> <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 -dir:<span class="s2">&quot;/mnt/media/Movies/&quot;</span> <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>
</pre></div> </pre></div>
</div> </div>
<p>Convert any video with avi or mpg extensions, print formated text including ffmpegs output and then delete the originals</p> <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 -dir:/mnt/media/ <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
</pre></div> </pre></div>
</div> </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>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>When using the -del flag here is the expected behavior:</p>
<p>To delete all non-hd videos in a folder:</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">&quot;/mnt/media/&quot;</span> <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>
</pre></div> </pre></div>
</div> </div>
<p>To delete all substandard videos in a folder:</p> <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 -dir/-files:<span class="s2">&quot;/mnt/media/&quot;</span> <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>
</pre></div> </pre></div>
</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> <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> <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">&quot;/mnt/media/&quot;</span> <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>
</pre></div> </pre></div>
</div> </div>
<p>To convert (repair) then delete all videos in a folder with encoding errors:</p> <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">&quot;/mnt/media/&quot;</span> <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>
</pre></div> </pre></div>
</div> </div>
<p>To delete all videos in a folder:</p> <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">&quot;/mnt/media/&quot;</span> <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>
</pre></div> </pre></div>
</div> </div>
<p>All these commands can have valuable use but are irrecoverable if done unintended.</p> <p>All these commands can have valuable use but are irrecoverable if done unintended.</p>

View File

@ -2,7 +2,7 @@
Installation Installation
============ ============
This package (For now) will only work on GNU/Linux and requires FFMPEG installed. For now it will be distributed on `GitHub <https://github.com/fabquenneville/MediaCurator.git>`_ This package has only been tested on GNU/Linux & Windows and requires FFMPEG installed. For now it will be distributed on `GitHub <https://github.com/fabquenneville/MediaCurator.git>`_
Install FFmpeg Install FFmpeg
-------------- --------------

View File

@ -17,7 +17,7 @@ Synopsis
[-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv] [-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv]
[-out:mkv/mp4,x265/av1] [-out:mkv/mp4,x265/av1]
[-print:list,formated,verbose] [-print:list,formated,verbose]
[-dir/-files:"/mnt/media/",,"/mnt/media2/"] [-dirs/-files:"/mnt/media/",,"/mnt/media2/"]
**for multiple files or filenames use double comma separated values ",,"** **for multiple files or filenames use double comma separated values ",,"**
@ -109,8 +109,8 @@ Select the outputs for the video conversions
* verbose: Print the FFmpeg output during the video conversions * verbose: Print the FFmpeg output during the video conversions
-dir: -dirs:
===== ======
["/mnt/media/",,"/mnt/media2/"] ["/mnt/media/",,"/mnt/media2/"]
The directories to scan as a **double comma** separated values list. The directories to scan as a **double comma** separated values list.
@ -128,11 +128,11 @@ Examples
.. code-block:: bash .. code-block:: bash
# List all videos with old codec in formated format # List all videos with old codec in formated format
./curator.py list -filters:old -print:formated -dir:/mnt/media/ >> ../medlist.txt ./curator.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 # 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 -dir:"/mnt/media/Movies/" ./curator.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 # 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 -dir:/mnt/media/ ./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
More examples in :doc:`use_cases` More examples in :doc:`use_cases`

View File

@ -9,7 +9,7 @@ Quickstart
[-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv] [-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv]
[-out:mkv/mp4,x265/av1] [-out:mkv/mp4,x265/av1]
[-print:list,formated,verbose] [-print:list,formated,verbose]
[-dir/-files:"/mnt/media/",,"/mnt/media2/"] [-dirs/-files:"/mnt/media/",,"/mnt/media2/"]
**for multiple files or filenames use double comma separated values ",,"** **for multiple files or filenames use double comma separated values ",,"**
@ -27,10 +27,10 @@ Examples:
.. code-block:: bash .. code-block:: bash
# List all videos with old codec in formated format # List all videos with old codec in formated format
./curator.py list -filters:old -print:formated -dir:/mnt/media/ >> ../medlist.txt ./curator.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 # 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 -dir:"/mnt/media/Movies/" ./curator.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 # 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 -dir:/mnt/media/ ./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
More examples in :doc:`use_cases` More examples in :doc:`use_cases`

View File

@ -21,13 +21,13 @@ List all videos with old codec in formated format
.. code-block:: bash .. code-block:: bash
./curator.py list -filters:old -dir:/mnt/media/ ./curator.py list -filters:old -dirs:/mnt/media/
List all videos with substandard definitions with a formated output List all videos with substandard definitions with a formated output
.. code-block:: bash .. code-block:: bash
./curator.py list -filters:subsd -print:formated -dir:/mnt/media/ ./curator.py list -filters:subsd -print:formated -dirs:/mnt/media/
.. _purge: .. _purge:
@ -41,19 +41,19 @@ List and delete all videos using the `Windows Media Video <https://en.wikipedia.
.. code-block:: bash .. code-block:: bash
./curator.py list -del -filters:wmv -dir:/mnt/media/ ./curator.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>`_ List and delete all videos using an `Audio Video Interleave <https://en.wikipedia.org/wiki/Audio_Video_Interleave>`_
.. code-block:: bash .. code-block:: bash
./curator.py list -del -in:avi -dir:/mnt/media/ ./curator.py list -del -in:avi -dirs:/mnt/media/
List and delete any videos with encoding errors List and delete any videos with encoding errors
.. code-block:: bash .. code-block:: bash
./curator.py list -del -filters:fferror -dir:/mnt/media/ ./curator.py list -del -filters:fferror -dirs:/mnt/media/
@ -66,19 +66,19 @@ List all videos with encoding errors
.. code-block:: bash .. code-block:: bash
./curator.py list -filters:fferror -dir:/mnt/media/ ./curator.py list -filters:fferror -dirs:/mnt/media/
List and delete any videos with encoding errors List and delete any videos with encoding errors
.. code-block:: bash .. code-block:: bash
./curator.py list -del -filters:fferror -dir:/mnt/media/ ./curator.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 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 .. code-block:: bash
./curator.py convert -del -filters:fferror -dir:"/mnt/media/Movies/" ./curator.py convert -del -filters:fferror -dirs:"/mnt/media/Movies/"
.. _convert: .. _convert:
@ -90,16 +90,16 @@ Convert all videos with old codecs to `High Efficiency Video Coding <https://en.
.. code-block:: bash .. code-block:: bash
./curator.py convert -del -filters:old -dir:"/mnt/media/Movies/" ./curator.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 Convert all videos with the codec mpeg4 to an mkv container using the av1 video codec
.. code-block:: bash .. code-block:: bash
./curator.py convert -filters:mpeg4 -out:av1,mkv -dir:"/mnt/media/Movies/" ./curator.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 Convert any video with avi or mpg extensions, print formated text including ffmpeg's output and then delete the originals
.. code-block:: bash .. code-block:: bash
./curator.py convert -del -in:avi,mpg -print:formated,verbose -dir:/mnt/media/ ./curator.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 .. code-block:: bash
./curator.py list -del -filters:lowres -dir/-files:"/mnt/media/" ./curator.py list -del -filters:lowres -dirs/-files:"/mnt/media/"
To delete all substandard videos in a folder: To delete all substandard videos in a folder:
.. code-block:: bash .. code-block:: bash
./curator.py list -del -filters:subsd -dir/-files:"/mnt/media/" ./curator.py list -del -filters:subsd -dirs/-files:"/mnt/media/"
.. image:: ../_static/Screenshot-delete.png .. image:: ../_static/Screenshot-delete.png
:width: 600 :width: 600
@ -26,19 +26,19 @@ To delete all videos in a folder with encoding errors:
.. code-block:: bash .. code-block:: bash
./curator.py list -del -filters:fferror -dir/-files:"/mnt/media/" ./curator.py list -del -filters:fferror -dirs/-files:"/mnt/media/"
To convert (repair) then delete all videos in a folder with encoding errors: To convert (repair) then delete all videos in a folder with encoding errors:
.. code-block:: bash .. code-block:: bash
./curator.py convert -del -filters:fferror -dir/-files:"/mnt/media/" ./curator.py convert -del -filters:fferror -dirs/-files:"/mnt/media/"
To delete all videos in a folder: To delete all videos in a folder:
.. code-block:: bash .. code-block:: bash
./curator.py list -del -filters:lowres -dir/-files:"/mnt/media/" ./curator.py list -del -filters:lowres -dirs/-files:"/mnt/media/"
All these commands can have valuable use but are irrecoverable if done unintended. All these commands can have valuable use but are irrecoverable if done unintended.

View File

@ -1,6 +1,6 @@
# Sphinx inventory version 2 # Sphinx inventory version 2
# Project: MediaCurator # Project: MediaCurator
# Version: # Version: 0.0.1
# The remainder of this file is compressed using zlib. # The remainder of this file is compressed using zlib.
xÚ•½NÄ0 Ç÷<…¬±2N*Bˆñd·<>à6^ƒ×ãIh“”¶‰cíÿÏvlsk^ÈðA\(|$Õ9D<39>-<2D>EO[Žžüé.hu|øUd¸Äš†œ³î_l‡ÒAâ¥i!ñžµd¤ô¶Ì4zS xÚ•½NÄ0 Ç÷<…¬±2N*Bˆñd·<>à6^ƒ×ãIh“”¶‰cíÿÏvlsk^ÈðA\(|$Õ9D<39>-<2D>EO[Žžüé.hu|øUd¸Äš†œ³î_l‡ÒAâ¥i!ñžµd¤ô¶Ì4zS
¸žl ËÑLñ@Š[M,lHH¼ŠƒuŸïzuÔdSÒ‡-×â€Öi5Hk'Mèë5Ö锆éá«¶»}5r_+¢¢ò<C2A2>.º–šX=(Ù,Ûeê}ØY³¬æ ]?ö˜}™¹Ëñºo€å6òFæžû3u<33>·Òø€J¥‰¬±ytÜãä))4šˆj gbzà9JþÔ§)w»€¦Xo¿möcÐkv¹¸÷É,ä+ºþ"Û_À1R±Xì ©J7o ¸žl ËÑLñ@Š[M,lHH¼ŠƒuŸïzuÔdSÒ‡-×â€Öi5Hk'Mèë5Ö锆éá«¶»}5r_+¢¢ò<C2A2>.º–šX=(Ù,Ûeê}ØY³¬æ ]?ö˜}™¹Ëñºo€å6òFæžû3u<33>·Òø€J¥‰¬±ytÜãä))4šˆj gbzà9JþÔ§)w»€¦Xo¿möcÐkv¹¸÷É,ä+ºþ"Û_À1R±Xì ©J7o

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: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,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,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:5,without:[0,3,6],wmv3:[3,4],wmv:[3,4,5],work:2,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:[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}})

View File

@ -17,7 +17,7 @@
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" /> <link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Quickstart" href="quickstart.html" /> <link rel="next" title="Quickstart" href="quickstart.html" />
<link rel="prev" title="Welcome to MediaCurators documentation!" href="../index.html" /> <link rel="prev" title="Warnings" href="warnings.html" />
<link rel="stylesheet" href="../_static/custom.css" type="text/css" /> <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
@ -36,7 +36,7 @@
<div class="section" id="installation"> <div class="section" id="installation">
<h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline"></a></h1> <h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline"></a></h1>
<p>This package (For now) will only work on GNU/Linux and requires FFMPEG installed. For now it will be distributed on <a class="reference external" href="https://github.com/fabquenneville/MediaCurator.git">GitHub</a></p> <p>This package has only been tested on GNU/Linux &amp; Windows and requires FFMPEG installed. For now it will be distributed on <a class="reference external" href="https://github.com/fabquenneville/MediaCurator.git">GitHub</a></p>
<div class="section" id="install-ffmpeg"> <div class="section" id="install-ffmpeg">
<h2>Install FFmpeg<a class="headerlink" href="#install-ffmpeg" title="Permalink to this headline"></a></h2> <h2>Install FFmpeg<a class="headerlink" href="#install-ffmpeg" title="Permalink to this headline"></a></h2>
<p><a class="reference external" href="https://ffmpeg.org/download.html">Download FFmpeg</a></p> <p><a class="reference external" href="https://ffmpeg.org/download.html">Download FFmpeg</a></p>
@ -75,12 +75,14 @@
<h3>Navigation</h3> <h3>Navigation</h3>
<p class="caption"><span class="caption-text">Contents:</span></p> <p class="caption"><span class="caption-text">Contents:</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="warnings.html">Warnings</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Installation</a><ul> <li class="toctree-l1 current"><a class="current reference internal" href="#">Installation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#install-ffmpeg">Install FFmpeg</a></li> <li class="toctree-l2"><a class="reference internal" href="#install-ffmpeg">Install FFmpeg</a></li>
<li class="toctree-l2"><a class="reference internal" href="#install-from-github">Install from GitHub</a></li> <li class="toctree-l2"><a class="reference internal" href="#install-from-github">Install from GitHub</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</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="use_cases.html">Use cases</a></li>
<li class="toctree-l1"><a class="reference internal" href="errors.html">Errors</a></li> <li class="toctree-l1"><a class="reference internal" href="errors.html">Errors</a></li>
</ul> </ul>
@ -89,7 +91,7 @@
<h3>Related Topics</h3> <h3>Related Topics</h3>
<ul> <ul>
<li><a href="../index.html">Documentation overview</a><ul> <li><a href="../index.html">Documentation overview</a><ul>
<li>Previous: <a href="../index.html" title="previous chapter">Welcome to MediaCurators documentation!</a></li> <li>Previous: <a href="warnings.html" title="previous chapter">Warnings</a></li>
<li>Next: <a href="quickstart.html" title="next chapter">Quickstart</a></li> <li>Next: <a href="quickstart.html" title="next chapter">Quickstart</a></li>
</ul></li> </ul></li>
</ul> </ul>

View File

@ -47,7 +47,7 @@
<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>-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>-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>-print:list,formated,verbose<span class="o">]</span>
<span class="o">[</span>-dir/-files:<span class="s2">&quot;/mnt/media/&quot;</span>,,<span class="s2">&quot;/mnt/media2/&quot;</span><span class="o">]</span> <span class="o">[</span>-dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>,,<span class="s2">&quot;/mnt/media2/&quot;</span><span class="o">]</span>
</pre></div> </pre></div>
</div> </div>
<p><strong>for multiple files or filenames use double comma separated values “,,”</strong></p> <p><strong>for multiple files or filenames use double comma separated values “,,”</strong></p>
@ -131,8 +131,8 @@
<li><p>verbose: Print the FFmpeg output during the video conversions</p></li> <li><p>verbose: Print the FFmpeg output during the video conversions</p></li>
</ul> </ul>
</div> </div>
<div class="section" id="dir"> <div class="section" id="dirs">
<h3>-dir:<a class="headerlink" href="#dir" title="Permalink to this headline"></a></h3> <h3>-dirs:<a class="headerlink" href="#dirs" title="Permalink to this headline"></a></h3>
<p>[“/mnt/media/”,,”/mnt/media2/”]</p> <p>[“/mnt/media/”,,”/mnt/media2/”]</p>
<p>The directories to scan as a <strong>double comma</strong> separated values list.</p> <p>The directories to scan as a <strong>double comma</strong> separated values list.</p>
</div> </div>
@ -145,11 +145,11 @@
<div class="section" id="examples"> <div class="section" id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline"></a></h2> <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> <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 -dir:/mnt/media/ &gt;&gt; ../medlist.txt ./curator.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> <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 -dir:<span class="s2">&quot;/mnt/media/Movies/&quot;</span> ./curator.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> <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 -dir:/mnt/media/ ./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
</pre></div> </pre></div>
</div> </div>
<p>More examples in <a class="reference internal" href="use_cases.html"><span class="doc">Use cases</span></a></p> <p>More examples in <a class="reference internal" href="use_cases.html"><span class="doc">Use cases</span></a></p>

View File

@ -41,7 +41,7 @@
<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>-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>-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>-print:list,formated,verbose<span class="o">]</span>
<span class="o">[</span>-dir/-files:<span class="s2">&quot;/mnt/media/&quot;</span>,,<span class="s2">&quot;/mnt/media2/&quot;</span><span class="o">]</span> <span class="o">[</span>-dirs/-files:<span class="s2">&quot;/mnt/media/&quot;</span>,,<span class="s2">&quot;/mnt/media2/&quot;</span><span class="o">]</span>
</pre></div> </pre></div>
</div> </div>
<p><strong>for multiple files or filenames use double comma separated values “,,”</strong></p> <p><strong>for multiple files or filenames use double comma separated values “,,”</strong></p>
@ -54,11 +54,11 @@
</div> </div>
<p>Examples:</p> <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> <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 -dir:/mnt/media/ &gt;&gt; ../medlist.txt ./curator.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> <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 -dir:<span class="s2">&quot;/mnt/media/Movies/&quot;</span> ./curator.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> <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 -dir:/mnt/media/ ./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
</pre></div> </pre></div>
</div> </div>
<p>More examples in <a class="reference internal" href="use_cases.html"><span class="doc">Use cases</span></a></p> <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"> <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> <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> <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 -dir:/mnt/media/ <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -filters:old -dirs:/mnt/media/
</pre></div> </pre></div>
</div> </div>
<p>List all videos with substandard definitions with a formated output</p> <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 -dir:/mnt/media/ <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -filters:subsd -print:formated -dirs:/mnt/media/
</pre></div> </pre></div>
</div> </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> <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>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> <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 -dir:/mnt/media/ <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:wmv -dirs:/mnt/media/
</pre></div> </pre></div>
</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> <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 -dir:/mnt/media/ <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -in:avi -dirs:/mnt/media/
</pre></div> </pre></div>
</div> </div>
<p>List and delete any videos with encoding errors</p> <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 -dir:/mnt/media/ <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:fferror -dirs:/mnt/media/
</pre></div> </pre></div>
</div> </div>
</div> </div>
<div class="section" id="batch-repair-encoding-errors"> <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> <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> <p>List all videos with encoding errors</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -filters:fferror -dir:/mnt/media/ <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -filters:fferror -dirs:/mnt/media/
</pre></div> </pre></div>
</div> </div>
<p>List and delete any videos with encoding errors</p> <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 -dir:/mnt/media/ <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py list -del -filters:fferror -dirs:/mnt/media/
</pre></div> </pre></div>
</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> <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 -dir:<span class="s2">&quot;/mnt/media/Movies/&quot;</span> <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>
</pre></div> </pre></div>
</div> </div>
</div> </div>
<div class="section" id="batch-re-encode"> <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> <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> <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 -dir:<span class="s2">&quot;/mnt/media/Movies/&quot;</span> <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>
</pre></div> </pre></div>
</div> </div>
<p>Convert all videos with the codec mpeg4 to an mkv container using the av1 video codec</p> <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 -dir:<span class="s2">&quot;/mnt/media/Movies/&quot;</span> <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>
</pre></div> </pre></div>
</div> </div>
<p>Convert any video with avi or mpg extensions, print formated text including ffmpegs output and then delete the originals</p> <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 -dir:/mnt/media/ <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>./curator.py convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
</pre></div> </pre></div>
</div> </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>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>When using the -del flag here is the expected behavior:</p>
<p>To delete all non-hd videos in a folder:</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">&quot;/mnt/media/&quot;</span> <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>
</pre></div> </pre></div>
</div> </div>
<p>To delete all substandard videos in a folder:</p> <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 -dir/-files:<span class="s2">&quot;/mnt/media/&quot;</span> <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>
</pre></div> </pre></div>
</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> <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> <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">&quot;/mnt/media/&quot;</span> <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>
</pre></div> </pre></div>
</div> </div>
<p>To convert (repair) then delete all videos in a folder with encoding errors:</p> <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">&quot;/mnt/media/&quot;</span> <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>
</pre></div> </pre></div>
</div> </div>
<p>To delete all videos in a folder:</p> <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">&quot;/mnt/media/&quot;</span> <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>
</pre></div> </pre></div>
</div> </div>
<p>All these commands can have valuable use but are irrecoverable if done unintended.</p> <p>All these commands can have valuable use but are irrecoverable if done unintended.</p>

View File

@ -110,7 +110,7 @@ Select the outputs for the video conversions
* verbose: Print the FFmpeg output during the video conversions * verbose: Print the FFmpeg output during the video conversions
-dirs: -dirs:
===== ======
["/mnt/media/",,"/mnt/media2/"] ["/mnt/media/",,"/mnt/media2/"]
The directories to scan as a **double comma** separated values list. The directories to scan as a **double comma** separated values list.

View File

@ -23,6 +23,8 @@ def main():
MediaCurator's main function MediaCurator's main function
''' '''
print(f"{colorama.Style.BRIGHT}")
# confirm that the command has enough parameters # confirm that the command has enough parameters
if len(sys.argv) < 2: if len(sys.argv) < 2:
print(f"{colorama.Fore.RED}ERROR: Command not understood, please see documentation.{colorama.Fore.RESET}") print(f"{colorama.Fore.RED}ERROR: Command not understood, please see documentation.{colorama.Fore.RESET}")

View File

@ -27,6 +27,10 @@ def user_confirm(question, color=False):
print(colorama.Fore.YELLOW, end = '') print(colorama.Fore.YELLOW, end = '')
answer = input(f"{question} ") answer = input(f"{question} ")
print(colorama.Fore.RESET) print(colorama.Fore.RESET)
elif color == "red":
print(colorama.Fore.RED, end = '')
answer = input(f"{question} ")
print(colorama.Fore.RESET)
else: else:
answer = input(question) answer = input(question)
if answer.lower() in ["y","yes"]: if answer.lower() in ["y","yes"]: