Skip to content

Instantly share code, notes, and snippets.

View Saccarab's full-sized avatar

Ali San Kaya Saccarab

View GitHub Profile
@Saccarab
Saccarab / check-keycode.js
Last active February 24, 2019 14:13
Check if a pressed key changes a text editor state
function (keycode) {
//event key code list
const valid =
(keycode > 47 && keycode < 58) || // number keys
keycode == 32 || keycode == 13 || // spacebar & return key(s) (if you want to allow carriage returns)
keycode == 8 || keycode == 46 || // delete keys
(keycode > 64 && keycode < 91) || // letter keys
(keycode > 95 && keycode < 112) || // numpad keys
(keycode > 185 && keycode < 193) || // ;=,-./` (in order)
(keycode > 218 && keycode < 223); // [\]' (in order)
@Saccarab
Saccarab / gcs-upload-multer.js
Last active February 24, 2019 14:13
multer google cloud storage upload
const multer = require('multer');
const upload = multer();
function sendUploadToGCS (req, res, next) {
if (!req.file) {
return next();
}
const gcsname = `${PATH_TO_FILE}`;
const file = bucket.file(gcsname);
@Saccarab
Saccarab / request-get.js
Last active February 24, 2019 14:13
request module get request with parameteres
var request = require('request');
var propertiesObject = { field1:'test1', field2:'test2' };
request({url:url, qs:propertiesObject}, function(err, response, body) {
if(err) { console.log(err); return; }
console.log("Get response: " + response.statusCode);
});
@Saccarab
Saccarab / client.js
Created February 24, 2019 14:12
stream file to client from gcs through express server
import request from 'request'
import fs from 'fs'
const requestQuery = {
path: path
}
request({url: 'http://localhost:8080/getFile', qs: requestQuery})
.on('response', (response) => {
//response chunks
@Saccarab
Saccarab / writejson.js
Created March 22, 2019 00:17
json write file sync
const fs = require('fs');
fs.writeFileSync(`${name}.json`, JSON.stringify(data))
@Saccarab
Saccarab / ffmpeg
Created April 4, 2019 18:18
ffmpeg cut video with start and end times
ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:25 -c:v copy -c:a copy output.mp4
@Saccarab
Saccarab / ffmpeg
Last active April 7, 2019 21:07
ffmpeg trim no reencode
ffmpeg -i yellowstonefinal.mp4 -vcodec copy -acodec copy -ss 00:00:00.000 -t 00:01:31.000 yellowstonetrimmed.mp4
@Saccarab
Saccarab / deploy trigger
Last active August 6, 2019 17:45
gcloud deploy cloud storage trigger
gcloud functions deploy helloGCSGeneric --runtime nodejs8 --trigger-resource gs://storageurl.com --trigger-event google.storage.object.finalize
@Saccarab
Saccarab / https-get.js
Created April 19, 2019 20:43
https get file download with progress percentage
const request = https.get(url, (response) => {
if (response.statusCode === 200) {
var len = parseInt(response.headers['content-length'], 10);
var downloaded = 0
response.pipe(fs.createWriteStream(filepath)
.on("error", (error) => {
//error
})
.on('finish', () => {
//finish
@Saccarab
Saccarab / merge-ffmpeg.js
Created June 9, 2019 08:54
fluent-ffmpeg merge audio with video
const command = ffmpeg()
const commandArray = []
command.addInput(`./best.mp4`)
command.addInput(`./best2.wav`)
commandArray.push(`[1]volume=0.1[a1]`)
command.addInput(`./voiceover.mp3`)
commandArray.push(`[2]volume=0.9[a2]`)
let ffmpegKeys = '[a1][a2]amix=inputs=2[a]'
commandArray.push(ffmpegKeys)