Skip to content

Instantly share code, notes, and snippets.

View marcelog's full-sized avatar

Marcelo Gornstein marcelog

View GitHub Profile
@marcelog
marcelog / lambda_role_for_s3.policy
Last active October 9, 2016 18:49
Setting up the Lambda role policy so it can access S3 buckets
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
@marcelog
marcelog / aws-sqs.policy
Last active June 5, 2025 07:27
SQS Policy to allow an S3 bucket to publish messages
{
"Version": "2012-10-17",
"Id": "arn:aws:sqs:YOUR-AWS-REGION:YOUR-AWS-ACCOUNT-ID:YOUR-QUEUE-NAME/SQSDefaultPolicy",
"Statement": [
{
"Sid": "example-statement-ID",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
@marcelog
marcelog / lambda_pack.zip
Created October 9, 2016 16:30
Pack your Lambda
#!/bin/bash
zip -r transcoding.zip *
@marcelog
marcelog / sox_invokation_in_lambda.js
Created October 9, 2016 14:57
Example invocation of SOX inside a Lambda container
exports.handler = function(event, context, callback) {
var exec = require('child_process').execFileSync;
var ret = exec(__dirname + '/sox', ['file1', 'file2'], {encoding: 'ascii'});
console.log('Result: ' + ret);
callback();
};
@marcelog
marcelog / build_static_sox_binary.sh
Last active September 29, 2022 02:04
Build a static SOX binary suitable to be used in an AWS Lambda Container
cd /usr/src
wget "http://downloads.sourceforge.net/project/sox/sox/14.4.2/sox-14.4.2.tar.bz2?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fsox%2Ffiles%2Fsox%2F14.4.2%2F&ts=1476009578&use_mirror=ufpr" -O sox-14.4.2.tar.bz2
tar jxf sox-14.4.2.tar.bz2
cd sox-14.4.2
CPPFLAGS="-I/usr/libmad-0.15.1b/include -I/usr/lame-3.99.5/include " \
LDFLAGS="-L/usr/libmad-0.15.1b/lib -L/usr/lame-3.99.5/lib -L/usr/libgsm-1.0.10/lib" \
./configure --prefix=/usr/sox-14.4.2 --disable-shared --enable-static
make
make install
@marcelog
marcelog / build_static_lame.sh
Created October 9, 2016 14:28
Build a static lame for MP3 encoding
#!/bin/bash
cd /usr/src
wget "http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Flame%2F&ts=1476009914&use_mirror=ufpr" -O lame-3.99.5.tar.gz
tar zxf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure --prefix=/usr/lame-3.99.5 --enable-static --disable-shared
make
make install
@marcelog
marcelog / build_static_libmad.sh
Last active October 9, 2016 14:21
How to build a static libmad and patching it to avoid the -fforce-mem error with newer gcc versions
#!/bin/bash
cd /usr/src
wget "http://downloads.sourceforge.net/project/mad/libmad/0.15.1b/libmad-0.15.1b.tar.gz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fmad%2Ffiles%2Flibmad%2F0.15.1b%2F&ts=1476010202&use_mirror=ufpr" -O libmad-0.15.1b.tar.gz
tar zxf tar zxf libmad-0.15.1b.tar.gz
cd libmad-0.15.1
# The following line is a patch to fix the build with newer GCC's that don't have the -fforce-mem option
sed -i '/-fforce-mem/d' configure
./configure --prefix=/usr/libmad-0.15.1b --enable-static --disable-shared
make
make install
@marcelog
marcelog / build_static_libgsm.sh
Created October 9, 2016 14:14
Build a static libgsm
#!/bin/bash
cd /usr/src
wget http://libgsm.sourcearchive.com/downloads/1.0.10/libgsm_1.0.10.orig.tar.gz
tar zxf libgsm_1.0.10.orig.tar.gz
cd libgsm-1.0.10.orig
make
mkdir -p /usr/libgsm-1.0.10/lib
mkdir -p /usr/libgsm-1.0.10/inc
mkdir -p /usr/libgsm-1.0.10/man/man3
make install GSM_INSTALL_ROOT=/usr/libgsm-1.0.10
@marcelog
marcelog / install-dev-essentials-centos.sh
Created October 9, 2016 14:08
Install essential packages for compiling C/C++ source codes in CentOS/Amazon Linux
#!/bin/bash
yum install gcc gcc-c++ make autoconf libtool