GeekTips
109 subscribers
586 photos
3 videos
77 files
231 links
Linux Mint, video encoding, ffmpeg, geek tips, regex, pdf manipulation, substitcher, mpv config
Download Telegram
3rd instance
Now do the same for numbers and years, etc.

search using
([a-z])([0-9])
replace all with
\1 \2

[0-9) for numbers
$1 $2 or \1 \2 are the same...use either syntax
This media is not supported in your browser
VIEW IN TELEGRAM
Beavis and Butthead learn of their White Privilege

original video re-encoded to 720p but has a low volume

ffmpeg -i beavisprivilege_original.mp4 -af volumedetect -f null /dev/null
shows the following
mean_volume: -32.7 dB
max_volume: -7.6 dB
To boost the audio volume by 12dB (make sure to capitalize the B) add -af "volume=12dB" just before the -vf (video filter). -af stands for audio filter

If you just wish to re-encode the audio without having to re-encode the video again change the following
-c:v hevc -crf 28 -c:a libopus -b:a 16k -af "volume=12dB" -vf scale="-2:720"
change to as to copy the video not re-encoding it
-c:v copy -c:a libopus -b:a 16k -af "volume=12dB"
This media is not supported in your browser
VIEW IN TELEGRAM
This is the video with boosted audio volume and
ffmpeg -i beavisprivilege_12dB+.mp4 -af volumedetect -f null /dev/null

shows the following
mean_volume: -20.8 dB
max_volume: 0.0 dB
ocrmypdf -O 3 --deskew input.pdf output.pdf

--deskew option straightens out PDFs

batch process PDFs using OCR
parallel --tag -j 2 ocrmypdf -O 3 --deskew '{}' 'output/{}' ::: *.pdf
Use PDF Arranger and use SHIFT to select the range of each magazine issue. CTRL-E to export selection to a single PDF. Rename each PDF to the year and month of the magazine. Then can use PDFSAM to generate a index / table of contents.

Sidenote: PDF Slicer also works but is more cumbersome for this particular task as it requires you to select the issue then CTRL-I (invert selection) then delete all pages selected. Then Save as ...once done then undo and wait for thumbnails to be re-generated.
Convert an epub to PDF with an Outline using free Calibre command line.

ebook-convert input.epub output.pdf --base-font-size=13 --change-justification=justify --embed-font-family=freesans

I prefer justification rather than left alignment and hyphenation.
Converted PDF from epub with an Outline
Made montages in Fotoxx then combined montage images from a directory into a PDF.
sudo apt install img2pdf

(or python)
pip3 install img2pdf

img2pdf *.jpg -o output.pdf

If you have images and a few are much bigger than the others you might get extremely small pages in your document. Use Pix or Image View (Xviewer) to quickly browse through the images and check out the image dimensions. So if most are say 2000 x 1500 or so and just a few are 3000 x 2500 or higher set the max pixel height and width and all PDF pages will be relatively uniform in size and with no white margins.

img2pdf --imgsize 2000x2000 *.jpg -o output.pdf

When combining multiple PDFs with various page sizes in PDFSAM choose Normalize Page Size (all pages same width as first page in PDF). Able to compress this from 145MiB to 81MiB.

Then when compressing it since it won't do pdfa 1.6 (which is default) so you have to specify - -output-type=pdf

ocrmypdf -O 2 --skip-big .1 -s --output-type=pdf PDFsam_merge.pdf output.pdf
Also their free app AnyBuffer (free tip app) works well as a clipboard app.
Noise Reduction to remove hiss, hum and increase volume on terrible audio quality of speeches / talks — played around with many different methods.

Audacity you need to get a profile of a few seconds of no talking...cumbersome. Even tried noise repellent plugin and it's impressive but couldn't figure out how to apply it even after hitting apply the changes wouldn't take effect.

In videomass (ffmpeg frontend GUI)
-c:a libopus -vbr off -b:a 32k -ar 48000 -af highpass=200,lowpass=3000,afftdn,aformat=channel_layouts=stereo,volume=12dB,dynaudnorm

also tried highpass=500 and lowpass=1000 and it's not bad but not great for super super noisy. But just hiss and old recordings and especially for batch processing this can't be beat.

Ultimately the one I decided I liked best is OcenAudio (free Linux, Mac, Win) installed the deb file and used it in the past for normalization.

Oceanaudio there is a manual one which I played around with and if you do choose that one I suggest you only need to change the Reduction Factor (Noise Reductor tab) say from 12dB to 20dB after you click Get Profile.

Oceanaudio Automatic Noise Reduction. First though I apply Amplitude | Gain of 200% (+6dB) or 250% (+8dB). Then apply Automatic Noise Reduction once or even twice if necessary.
Oceanaudio spectrogram view
For easy normalization and noise reduction use the free app Lexis Audio Editor on eyephone or android ($6 if wanna export to mp3) but you can export m4a, aac, or flac instead.
Batch trim beginning and ending of mp3 and/or mp4 files with ffmpeg.

ffmpeg requires the duration...simple -ss (start time) and -t (duration) ...so say it's 3 min -ss 20 -t 2:10 will trim first 20 seconds and the last 30 seconds. Basically saying keep 0:20 to 2:30 and total duration is 2m 10s. Or another way -ss 20 -to 2:30 as -to indicate till what time. But each file usually has a different duration and in LosslessCut you can do it manually of course for each file.

Best solution is this command from stackoverflow to trim last 6 seconds off mp4 videos:
for f in *.mp4; do ffmpeg -i "$f" -map 0 -c copy -t "$(bc <<< "$(ffprobe -v error -select_streams v:0 -show_entries stream=duration -of default=noprint_wrappers=1:nokey=1 "$f")"-6)" output/"$f"; done

change the -v:0 (video) to -a:0 (audio) so it works with mp3 files too.
add -ss 130 just after ffmpeg to trim first 1m 10s (130 seconds) from beginning of video/audio

Now the tricky part. Where the -6 is put the number of seconds you wish to trim from end of video/audio PLUS the number of seconds you're trimming from the beginning. Say you want to trim the last 2 minutes (120 seconds) so you'd put (130s + 120s = 250s).

So to recap...first make your output directory
mkdir output
change *.mp4 to *.mp3 for mp3 files obviously or keep mp4 for video files.
To trim first 130 seconds and last 120 seconds from video/audio files:

for f in *.mp3; do ffmpeg -ss 130 -i "$f" -map 0 -c copy -t "$(bc <<< "$(ffprobe -v error -select_streams a:0 -show_entries stream=duration -of default=noprint_wrappers=1:nokey=1 "$f")"-250)" output/"$f"; done
Batch download with yt-dlp

pip3 install yt-dlp

I use it with videomass but believe the command line is a tad better. Especially since it tries to resume 10 times on timeouts (default)

Open source html website and use regrex to strip out front and end of video/audio link as seen in the screenshot.

Once you have your links it'll look like a list of links in the screenshot.

Save this as a text file named videolinks.txt
-a, --batch-file
Batch download
yt-dlp -a videolinks.txt
Another way to do it is to use DownThemAll! extension and just download the html files. Copy them all into a text file and prepend https://www.bitchute.com/video/ and delete the .html text

another way to do this is save the html source in a text file named links.txt then extract the URL to a file named linksextracted.txt

cat links.txt | grep -Eo '(https?|ftp|file)://[-A-Za-z0-9\+&@#/%?=~_|!:,.;]*[-A-Za-z0-9\+&@#/%=~_|]' | sed 's/;/<tab>/g' > linksextracted.txt

Or use an online URL extractor

Obviously if there are direct links to the source mp4 video files then just use DownThemAll! to grab all videos on that page. This method is showing how to batch download video links and not links to source video files.
Batch downloading with yt-dlp
King James 1611 in Foliate epub reader (GPL free)
flatpak install flathub com.github.johnfactotum.Foliate

Foliate Settings | Advanced
uncheck Auto-hyphenation (personal preference)
uncheck Reference Preview (annoying)

Foliate Preferences
When a word is selected [Look up in dictionary]
install an offline dictionary
When multiple words are selected [Highlight]
can export annotations to BibTex, HTML, JSON, Markdown, Plain Text
and can import JSON

Interface
uncheck Auto-hide header bar
check Use sidebar

Calibre ebook viewer
when you click C X or V it loads a preview then you must click —> to advance. No way to turn this off.

Xreader (Document Viewer) linux no dark mode for epubs only PDFs. No annotations. But works ok for epubs.
Bible PDF in evince (Document Viewer) on Linux. Showing night mode in Strongs with mouse hovering idolater G1496

CTRL-H highlight but can't export annotations
ALT-P previous page visited