diff options
author | Srikant Patnaik | 2015-02-22 10:12:36 +0530 |
---|---|---|
committer | Srikant Patnaik | 2015-02-22 10:12:36 +0530 |
commit | f7c31a5a862060af3d0b76a25b42f4eb00a8bd25 (patch) | |
tree | e48eb6447198b97b95c4962ee147aefff45aad5b | |
parent | 2d6f8dac5bbbb3107087eac76607dc83e192f5fe (diff) | |
download | FOSSEE-netbook-patcher-f7c31a5a862060af3d0b76a25b42f4eb00a8bd25.tar.gz FOSSEE-netbook-patcher-f7c31a5a862060af3d0b76a25b42f4eb00a8bd25.tar.bz2 FOSSEE-netbook-patcher-f7c31a5a862060af3d0b76a25b42f4eb00a8bd25.zip |
moved and renamed
-rw-r--r-- | opt/noNoise-master/README.rst | 160 | ||||
-rw-r--r-- | opt/noNoise-master/noNoise.py | 113 | ||||
-rwxr-xr-x | opt/noNoise-master/noNoise.sh | 32 | ||||
-rw-r--r-- | opt/noNoise-master/nonoise.desktop | 10 | ||||
-rw-r--r-- | update-tool/README.rst (renamed from README.rst) | 0 | ||||
-rw-r--r-- | update-tool/fossee-update.desktop (renamed from fossee-update.desktop) | 4 | ||||
-rwxr-xr-x | update-tool/init.sh (renamed from init.sh) | 0 | ||||
-rw-r--r-- | update-tool/patcher.png (renamed from patcher.png) | bin | 4126 -> 4126 bytes | |||
-rwxr-xr-x | update-tool/patcher.sh (renamed from patcher.sh) | 0 | ||||
-rw-r--r-- | usr/share/applications/nonoise.desktop | 10 |
10 files changed, 2 insertions, 327 deletions
diff --git a/opt/noNoise-master/README.rst b/opt/noNoise-master/README.rst deleted file mode 100644 index 0efdbd4..0000000 --- a/opt/noNoise-master/README.rst +++ /dev/null @@ -1,160 +0,0 @@ -Introduction -============ - -With home made videos or screencasts, we often find a constant noise in our recording due to electric wiring, fan, choke coil of fluorescent -lamp etc. This could be irritating.But fortunately, these noises can be easily detected and can be removed with GUI based tools, such as -Audacity. -To use any GUI based tool, we need to extract audio manually and then feed it to the software, once done we have to again join the noisefree -audio with the video. This is OK with 1 or 2 files. But to for automating each step and to handle multiple files we need a simple script. - -One can simply use `sox` and `ffmpeg` commands shown below in given order to get the same result(see `Working`). - - -UPDATE for 14.04 ----------------- - -Install **libav-tools** and **sox**. - -Run as :: - - $ bash noNoise.sh noisyVideo.mp4 noise-reduction-factor - -This will create an backup file of original video in **/tmp** -and noisefreeVideo in **pwd**. - -Example :: - - $ bash noNoise.sh Kazam_screencast_00000.mp4 0.2 - -It will create **noisefree_Kazam_screencast_00000.mp4.mp4** in **pwd** -and a backup of original video in **/tmp/orig_Kazam_screencast_00000.mp4** - -This is just an early fix, will add more features soon. - -Please raise issues for any bugs or email me for feature requests. - -Also, I recently came across **Kazam** package (available in repositories), -its a good screen recorder with most needed keyboard shortcuts, such as - -* start recording: Super + Control + r -* pause recording: Super + Control + p -* finish recording: Super + Control + f -* show Kazam: Super + Control + s -* quit: Super + Control + q - -Required packages (Upto Ubuntu 13.10) -------------------------------------- - - * sox - - * ffmpeg - - * ffmpeg2theora - - * libmp3lame0 - - * Linux machine with default python - - - -Usage ------ - -### Remove noise from a single file - - - $ python noNoise.py VideoWithNoise.ogv CleanVideo.ogv - (source file) (destination file) - -(OR) - - $ python noNoise.py VideoWithNoise.ogv CleanVideo.ogv 0.21 - (source file) (destination file) (noise factor) - - The third argument is optional(Noise factor). The scale spans from - `0.0` to `1.0`. Zero means no noise supression and 1.0 means full. The full - scale is avoided. Best optimum result is found between `0.2` to `0.3`. By default - script will take `0.26`. One can experiment with noise factor to get best noise - free video. - NOTE: Careful, destination file will be overwritten if exist in given path. - - - -### Remove noise from all files inside a directory - - - $ python noNoise.py allNoisyFiles allCleanFiles - (source dir) (destination dir) - -(OR) - - $ python noNoise.py allNoisyFiles allCleanFiles 0.21 - (source Dir) (destination dir) (Noise factor) - -NOTE: Please don't use any '/' after directory name. It will spit error. -The fix is possible, but I don't want to spend time on it. This script is dirty -but useful(atleast for me). When I find time, I will surely modify it. Meanwhile -you all are welcome to add modifications. - - - -Working: -------- -###1. Extracting video in less compressed format - - ffmpeg -i 1.ogv -sameq -an 2.wmv - - Extracting video in wmv format for easy editing(less compressed - than mp4,ogv,avi). We can leave the video intact and combine the - noiseless audio later to it, but it will hamper the video quality - of the newly joined video. - The size of this 'wmv' will be approximately 5 times than that of - original 'ogv' video. - - -###2. Extracting audio in less compressed format - - ffmpeg -i 1.ogv -sameq 2.wav - - Extracting audio in wav format for fast & easy editing.The size of the - `wav` audio file will be approximately 8 times larger than the original. - - -###3. Getting noise profile - - sox 2.wav -t null /dev/null trim 0 0.5 noiseprof myprofile - - Creating a noise profile of original audio at 0 to 0.5 second. - One can change this duration if required. In most cases the - standard noise is evenly distributed throughout the recording(eg: - fan, PC etc), so the default 0 to 0.5 value will do the trick. - -###4. Converting audio according to noise profile - - sox 2.wav 2-noisefree.wav noisered myprofile 0.26 - - Creating a noisefree audio based on our noise profile. The value - `0.26` is important. This is scale for noise removal. 0 means no removal - and 1 means full removal. The full removal will supress most of the - orginal audio too. So as per my R&D, I found `0.26` to be most optimized - one for noise removal. - - -###5. Combining back audio and video - - ffmpeg -i 2-noisefree.wav -i 2.wmv -sameq vid.wmv - - Merging new noiseless audio and old video together. - - -###6. Final conversion - - ffmpeg2theora vid.wmv -o vid.ogv - - Now converting wmv into our favorite ogv format. This will create a - `vid.ogv` of almost same size that of original video. - - -License -------- -GNU GPLV3 diff --git a/opt/noNoise-master/noNoise.py b/opt/noNoise-master/noNoise.py deleted file mode 100644 index cfff188..0000000 --- a/opt/noNoise-master/noNoise.py +++ /dev/null @@ -1,113 +0,0 @@ -#!/usr/bin/python env - -"""This script can be used to remove audio noise from 'ogv' videos. - - Usage:(for future Srikant & all users) - - 1)Remove noise from a single file: - ---------------------------------- - $ python noNoise.py VideoWithNoise.ogv CleanVideo.ogv - (source file) (destination file) - - (OR) - - $ python noNoise.py VideoWithNoise.ogv CleanVideo.ogv 0.21 - (source file) (destination file) (noise factor) - - The third argument is optional(Noise factor). The scale spans from - 0.0 to 1.0. Zero means no noise supression and 1.0 means full. The full - scale is avoided. Best optimum result is found between 0.2 to 0.3. By default - script will take 0.26. One can experiment with noise factor to get best noise - free video. - NOTE: Careful, destination file will be overwritten if exist in given path. - - - - 2)Remove noise from all files inside a directory: - ------------------------------------------------- - $ python noNoise.py allNoisyFiles allCleanFiles - (source dir) (destination dir) - - (OR) - - $ python noNoise.py allNoisyFiles allCleanFiles 0.21 - (source Dir) (destination dir) (Noise factor) - - - NOTE: Please don't use any '/' after directory name. It will spit error. - The fix is possible, but I don't want to spend time on it. This script is dirty - but useful(atleast for me). When I find time, I will surely modify it. Meanwhile - you all are welcome to add modifications. Please find this copy and future updates - at http://github.com/srikantpatnaik. - Thanks for your time. - - Details of each commands are in README.rst. - -""" - -from os import system, path, listdir, chdir, mkdir -from sys import argv -from time import sleep - -def checkType(): - #Check for type of first argument(file or dir). - if path.isdir(argv[1]): - processDir() - else: - processFile() - return - - -def processDir(): - #make dir to save all new files - mkdir(argv[2]) - #cd to source dir - chdir(argv[1]) - for eachfile in listdir('.'): - execute(setCommands(eachfile)) - return - - -def processFile(): - #Calling setCommands with source file. - #Will return list of commands to be executed - execute(setCommands(argv[1])) - return - - -def execute(cli): - #total 7 commands with some delay for disk - #write and sync - for each in cli: - system(each) - sleep(0.2) - return - - -def setCommands(filename): - #The dirty function. - cli = [None]*7 - cli[0] = 'ffmpeg -i ' + ' ' + filename + ' -sameq -an ' + '.rawVideo.wmv' - cli[1] = 'ffmpeg -i ' + ' ' + filename + ' -sameq ' + '.rawAudio.wav' - cli[2] = 'sox .rawAudio.wav -t null /dev/null trim 0 0.5 noiseprof myprofile' - #Checks for noise factor. - if len(argv)>3: - cli[3] = 'sox .rawAudio.wav .noisefree.wav noisered myprofile ' + argv[3] - else: - #The default value for noise factor is 0.26. Change accordingly. - cli[3] = 'sox .rawAudio.wav .noisefree.wav noisered myprofile 0.26' - #Creating a less compressed file to retain video quality. - cli[4] = 'ffmpeg -i .noisefree.wav -i .rawVideo.wmv -sameq .combined.wmv' - #Checks for file or directory. If dir, the output is saved in different directory. - if not path.isfile(argv[1]): - cli[5] = 'ffmpeg2theora .combined.wmv -o ' + '../' + argv[2] + '/' + filename - else: - #Will create the final ogv video from wmv. - cli[5] = 'ffmpeg2theora .combined.wmv -o ' + argv[2] - cli[6] = 'rm .rawVideo.wmv .rawAudio.wav .noisefree.wav .combined.wmv myprofile' - return cli - - - -if __name__ == '__main__': - checkType() diff --git a/opt/noNoise-master/noNoise.sh b/opt/noNoise-master/noNoise.sh deleted file mode 100755 index f247568..0000000 --- a/opt/noNoise-master/noNoise.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash - -# Please install 'libav-tools' for Ubuntu 14.04 onwards -# As ffmpeg is obsolete, it has been replaced by 'avconv' -# Instead of python script, a simple bash one is sufficient - -# A beta release for noNoise-v2 - -# Usage example -# $ bash noNoise.sh noisyVideo.mp4 noise-reduction-factor - -# noise-reduction-factor: 0 means no reduction, 1 means -# maximum damping of noise (recommended is 0.2 to 0.4) - - - -# Making a backup of the original video -echo "Back up original video at /tmp/orig_$1" -cp -v $1 /tmp/orig_$1 - -# Extracting audio from noisyVideo -avconv -i $1 -f wav -ab 192000 -vn /tmp/noisy.wav - -# Creating a noise profile, basically looking for white noise -# in 0 to 0.5 sec of the clip (change if you like) -sox /tmp/noisy.wav -n trim 0 0.5 noiseprof myprofile - -# Removing noise using noise profile -sox /tmp/noisy.wav /tmp/noisefree.wav noisered myprofile $2 - -# Replacing noisyAudio with noisefree audio in original video -avconv -i $1 -i /tmp/noisefree.wav -c:v copy -c:a aac -strict experimental -map 0:v:0 -map 1:a:0 noisefree_$1.mp4 diff --git a/opt/noNoise-master/nonoise.desktop b/opt/noNoise-master/nonoise.desktop deleted file mode 100644 index 676111e..0000000 --- a/opt/noNoise-master/nonoise.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Keywords=FOSSEE updates -Name=FOSSEE-updates -Comment=FOSSEE updates -Exec=bash /opt/noNoise-master/noNoise.sh -#Icon=/opt/FOSSEE-netbook-patcher/patcher.png -Terminal=false -Type=Application -MimeType=text/plain -Categories=GTK;Other; diff --git a/README.rst b/update-tool/README.rst index 6ae75a9..6ae75a9 100644 --- a/README.rst +++ b/update-tool/README.rst diff --git a/fossee-update.desktop b/update-tool/fossee-update.desktop index c5f1ed1..3025959 100644 --- a/fossee-update.desktop +++ b/update-tool/fossee-update.desktop @@ -2,9 +2,9 @@ Keywords=FOSSEE updates Name=FOSSEE-updates Comment=FOSSEE updates -Exec=bash /opt/FOSSEE-netbook-patcher/init.sh +Exec=bash /opt/FOSSEE-netbook-tools/update-tool/init.sh #Exec=lxterminal --working-directory=/opt/FOSSEE-netbook-patcher -e /opt/FOSSEE-netbook-patcher/patcher.sh >/dev/null 2>&1 -Icon=/opt/FOSSEE-netbook-patcher/patcher.png +Icon=/opt/FOSSEE-netbook-tools/update-tool/patcher.png Terminal=false Type=Application MimeType=text/plain diff --git a/init.sh b/update-tool/init.sh index b5b148f..b5b148f 100755 --- a/init.sh +++ b/update-tool/init.sh diff --git a/patcher.png b/update-tool/patcher.png Binary files differindex 19e30ff..19e30ff 100644 --- a/patcher.png +++ b/update-tool/patcher.png diff --git a/patcher.sh b/update-tool/patcher.sh index 88c52fe..88c52fe 100755 --- a/patcher.sh +++ b/update-tool/patcher.sh diff --git a/usr/share/applications/nonoise.desktop b/usr/share/applications/nonoise.desktop deleted file mode 100644 index 676111e..0000000 --- a/usr/share/applications/nonoise.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Keywords=FOSSEE updates -Name=FOSSEE-updates -Comment=FOSSEE updates -Exec=bash /opt/noNoise-master/noNoise.sh -#Icon=/opt/FOSSEE-netbook-patcher/patcher.png -Terminal=false -Type=Application -MimeType=text/plain -Categories=GTK;Other; |