6
__TMP_IMAGE_NAME=__SPEAKER_IMAGE.PNG
4
# FILE NAME: wav2mp4.sh
9
# * Fixed up if statments
13
# * Make script work with gifs, and Make gifs loop.
16
# * Fixed some formating errors.
17
# * Added sanity check.
18
# * Use /tmp/ instead of writing to FS.
23
# FIXME: Use mktemp or mkdtemp instea of usin /tmp/ directly
24
__TMP_IMAGE_NAME=/tmp/__SPEAKER_IMAGE.PNG
10
28
__USE_DIFFERENT_IMAGE=false
14
34
echo "wav2mp4.sh --- Convert audio to a video for upload. "
16
36
echo "-i <audio.wav> The input audio."
18
38
echo "-o <video.mp4> The output for the video."
20
echo "--image <image.png> Image to use. If non is provided a standard image"
40
echo "--image <image.[png,gif]>"
41
echo " Image to use. If none is provided a standard image"
21
42
echo " will be used."
47
function __silent () {
52
function __sanity_check () {
53
# Check that we have the tools needed.
54
___silent which ffmpeg
56
if [[ $? -gt 0 ]]; then
57
echo " Can't find tool \"ffmpeg\" (Required)."
61
if [[ $___SANITY == false ]]; then
62
echo "Please install the missing tools."
68
function __do_cleanup () {
28
69
rm $__TMP_IMAGE_NAME
72
function __do_convertion_gif () {
33
76
-i "$__TMP_IMAGE_NAME"\
35
77
-c:v libx264 -tune stillimage\
36
78
-c:a aac -b:a 256k -pix_fmt yuv420p\
37
79
-vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" -shortest\
83
function __do_convertion () {
85
case $__TMP_IMAGE_NAME in
86
## FIXME: See if there are othre fileformats that need looping and such.
93
-i "$__TMP_IMAGE_NAME"\
95
-c:v libx264 -tune stillimage\
96
-c:a aac -b:a 256k -pix_fmt yuv420p\
97
-vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" -shortest\
104
function __parse_args () {
45
107
echo "Try --help or -h."
155
function __write_image () {
91
156
__IMAGE_BASE64="iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAQAAABh3xcBAAAZEHpUWHRSYXcgcHJvZmlsZSB0eXBl
92
157
IGV4aWYAAHja1ZtZdhy3GYXfsYosAfOwHIznZAdZfr6LalEURdmmnDyYdNRks7oK+Ic7AIjZ//n3
93
158
Mf/iKxebTUyl5paz5Su22Hznh2qfr+fV2Xj/vV8nvn5yP75v3v7geQ28hucPeT+vrvN++v6BEl/v
399
if [ ! -e "$__IN_NAME" ]
466
if [[ ! -e "$__IN_NAME" ]]
401
468
echo "missing input audio. Please provide."
405
if [ $__OUT_NAME == "" ]
472
if [[ $__OUT_NAME == "" ]]
407
474
echo "missing output file name. Please provide."
414
if [ $__USE_DIFFERENT_IMAGE = false ]
480
if [[ $__USE_DIFFERENT_IMAGE == false ]]