Skip to content

Instantly share code, notes, and snippets.

View nickferrando's full-sized avatar
💭
I may be slow to respond.

Nick Ferrando nickferrando

💭
I may be slow to respond.
View GitHub Profile
@nickferrando
nickferrando / single-rendition-hls.sh
Created August 25, 2023 10:43
BASH Script for HLS Single Rendition
#!/bin/bash
#This script will process each file in a given input directory
#and will create a corresponding output folder for each processed file.
# Input and output directories
input_dir="YOUR_INPUT_DIRECTORY"
output_dir="output_folder"
# Create the output directory if it doesn't exist
@nickferrando
nickferrando / bash-ffmpeg-multiple-io.sh
Created August 24, 2023 01:23
BASH Automation for FFmpeg processing, with Multiple Files Input and Separate Directories Output
#!/bin/bash
#This script will process each file in a given input directory
#and will create a corresponding output folder for each processed file.
# Input and output directories
input_dir="/your/input/directory"
output_dir="output_folder"
# Create the output directory if it doesn't exist
@nickferrando
nickferrando / Bento4-Ubuntu-Install.sh
Last active June 23, 2023 00:02
Installing Bento4 Tools for Ubuntu
#Install Git
sudo apt update
sudo apt install git
#Git Clone Bento4
git clone https://github.com/axiomatic-systems/Bento4.git
cd Bento4/
@nickferrando
nickferrando / smpte_hd_bars.sh
Created March 2, 2021 18:22
Generate SMPTE Color Bars/1kHz Test Tone with FFMPEG
#Display Custom Message on STMPE Bars and Server's Local Time
ffmpeg -re -f lavfi -i "smptehdbars=rate=30:size=1920x1080" \
-f lavfi -i "sine=frequency=1000:sample_rate=48000" \
-vf drawtext="text='YOUR MESSAGE %{localtime\:%X}':rate=30:x=(w-tw)/2:y=(h-lh)/2:fontsize=48:fontcolor=white:box=1:boxcolor=black" \
-f flv -c:v h264 -profile:v baseline -pix_fmt yuv420p -preset ultrafast -tune zerolatency -crf 28 -g 60 -c:a aac \
"rtmp://your_server_address/stream_key"
#Display Custom Message on STMPE Bars and Time (HH:MM:MS)
@nickferrando
nickferrando / pdf-optimize.sh
Created June 1, 2020 17:22
PDF Optimizer with Ghostscript
gs \
-o OUTPUT.pdf \
-sDEVICE=pdfwrite \
-dDownsampleColorImages=true \
-dDownsampleGrayImages=true \
-dDownsampleMonoImages=true \
-dColorImageResolution=72 \
-dGrayImageResolution=72 \
-dMonoImageResolution=72 \
-dColorImageDownsampleThreshold=1.0 \
@nickferrando
nickferrando / ffmpeg-normalize-amazon.sh
Last active May 11, 2020 17:43
FFMPEG-Normalize - Parameters for Loudness Normalization for Amazon Alexa (Standard EBU R128)
#!/bin/bash
#This FFMPEG-Normalize command will produce a standard loudness normalization
#as per Amazon Alexa Technical Documentation (https://developer.amazon.com/it-IT/docs/alexa/flashbriefing/normalizing-the-loudness-of-audio-content.html)
ffmpeg-normalize [INPUT].wav -nt ebu -t "-14" -lrt "11" -tp "-3" -ar 44100 -v -o [OUTPUT].wav
@nickferrando
nickferrando / ffmpeg-normalize-google.sh
Last active May 11, 2020 17:40
FFMPEG-Normalize - Parameters for Loudness Normalization for Google Assistant (Standard EBU R128)
#!/bin/bash
#This FFMPEG-Normalize command produce a standard volume normalization, as per Google technical specifications:
#(https://developers.google.com/assistant/tools/audio-loudness).
#Please note that you need to install FFMPEG before installing FFMPEG-Normalize.
ffmpeg-normalize [INPUT] -nt ebu -t "-16" -lrt "11" -tp "-1.5" --offset "-0.5" -ar 192000 -v -o [OUTPUT]
@nickferrando
nickferrando / multiloudnorm.sh
Last active May 11, 2020 17:41
WAV to Multiple Audio Formats with EBU R128 Loudness Normalization
#!/bin/bash
#Convert input files in .WAV format to multiple destinations
#AIFF, Mp3 @64Kbps, Mp3 @128Kbps, AAC @192k and FLAC format.
#It will also copy the metadata informations, where they exists.
mkdir aiff mp3-64 mp3-128 aac-192 flac
for i in *.wav; do ffmpeg -i "$i" -nostdin -map_metadata:s:a 0:s:a -af loudnorm "./aiff/${i%.*}.aiff" -b:a 64k "./mp3-64/${i%.*}.mp3" -b:a 128k "./mp3-128/${i%.*}.m$
done
@nickferrando
nickferrando / multiaudio.sh
Created May 9, 2020 19:32
Convert WAV files into Multiple Audio Formats
#!/bin/bash
#Convert input files in .WAV format to multiple destinations
#AIFF, Mp3 @64Kbps, Mp3 @128Kbps, AAC @192k and FLAC format.
#It will also copy the metadata informations, where they exists.
mkdir aiff mp3-64 mp3-128 aac-192 flac
for i in *.wav; do ffmpeg -i "$i" -nostdin -map_metadata:s:a 0:s:a "./aiff/${i%.*}.aiff" -b:a 64k "./mp3-64/${i%.*}.mp3" -b:a 128k "./mp3-128/${i%.*}.mp3" -b:a 192k "./aac-192/${i%.*}.aac" "./flac/${i%.*}.flac"
done
@nickferrando
nickferrando / imagemagick-ubuntu18.txt
Last active May 9, 2020 13:03
Install ImageMagick on Ubuntu 18.04 LTS
#Install ImageMagick on Ubuntu 18.04 LTS
sudo apt update
sudo apt upgrade -y
sudo reboot
sudo apt --purge autoremove
#Install Build-Essential in order to configure and make the final Install
sudo apt-get install build-essential