https://github.com/futhrevo/hub31-electron
Desktop App for HUb31 uploader
https://github.com/futhrevo/hub31-electron
bento4 electron-app ffmpeg-wrapper
Last synced: 3 months ago
JSON representation
Desktop App for HUb31 uploader
- Host: GitHub
- URL: https://github.com/futhrevo/hub31-electron
- Owner: futhrevo
- Created: 2022-03-28T14:15:11.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2022-03-28T14:15:35.000Z (about 3 years ago)
- Last Synced: 2025-01-19T15:26:01.309Z (4 months ago)
- Topics: bento4, electron-app, ffmpeg-wrapper
- Language: JavaScript
- Homepage:
- Size: 165 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## 4 must-know tips for building cross platform Electron apps
https://blog.avocode.com/4-must-know-tips-for-building-cross-platform-electron-apps-f3ae9c2bffff
Upload entire directory tree to S3 using AWS sdk in node js
https://stackoverflow.com/questions/27670051/upload-entire-directory-tree-to-s3-using-aws-sdk-in-node-jsPhoton components
http://photonkit.com/components/electron-api-demos
https://github.com/electron/electron-api-demos/blob/master/main-process/native-ui/dialogs/open-file.jsWriting IAM Policies: Grant Access to User-Specific Folders in an Amazon S3 Bucket
https://aws.amazon.com/blogs/security/writing-iam-policies-grant-access-to-user-specific-folders-in-an-amazon-s3-bucket/https://docs.peer5.com/guides/production-ready-hls-vod/
{ "user": "dF7gzMoWr3dPX6YPq", "video": "6qwTPbfkhYzSTj2iN", "hash": "f3f4ad2add3abff924f117aed8065ffb"}ffmpeg -hide_banner -y -v "quiet" -progress pipe:1 -i "/Users/rakeshkalyankar/Downloads/test hub31.mp4" \
-c:a aac -ar 48000 -c:v h264 -profile:v main -crf 20 -sc_threshold 0 -g 60 -keyint_min 60 -hls_time 4 -hls_enc 1 -hls_enc_key "3e4f9f85499ca321cd0492e0e1ef4fb1" -hls_enc_key_url "http://localhost:3000/hello" -hls_enc_iv 6b6902a15a35ac843a9243627b0063c7 -hls_playlist_type vod -vf scale=w=-2:h=360 -b:v 800k -maxrate 856k -bufsize 1200k -b:a 96k -hls_segment_filename "/Users/rakeshkalyankar/Downloads/cZd5XPeJbENssNRxu/360p*%03d.ts" "/Users/rakeshkalyankar/Downloads/cZd5XPeJbENssNRxu/360p.m3u8" \
-c:a aac -ar 48000 -c:v h264 -profile:v main -crf 20 -sc*threshold 0 -g 60 -keyint_min 60 -hls_time 4 -hls_enc 1 -hls_enc_key "3e4f9f85499ca321cd0492e0e1ef4fb1" -hls_enc_key_url "http://localhost:3000/hello" -hls_enc_iv 6b6902a15a35ac843a9243627b0063c7 -hls_playlist_type vod -vf scale=w=-2:h=480 -b:v 1400k -maxrate 1498k -bufsize 2100k -b:a 128k -hls_segment_filename "/Users/rakeshkalyankar/Downloads/cZd5XPeJbENssNRxu/480p*%03d.ts" "/Users/rakeshkalyankar/Downloads/cZd5XPeJbENssNRxu/480p.m3u8" \
-c:a aac -ar 48000 -c:v h264 -profile:v main -crf 20 -sc*threshold 0 -g 60 -keyint_min 60 -hls_time 4 -hls_enc 1 -hls_enc_key "3e4f9f85499ca321cd0492e0e1ef4fb1" -hls_enc_key_url "http://localhost:3000/hello" -hls_enc_iv 6b6902a15a35ac843a9243627b0063c7 -hls_playlist_type vod -vf scale=w=-2:h=720 -b:v 2800k -maxrate 2996k -bufsize 4200k -b:a 128k -hls_segment_filename "/Users/rakeshkalyankar/Downloads/cZd5XPeJbENssNRxu/720p\*%03d.ts" "/Users/rakeshkalyankar/Downloads/cZd5XPeJbENssNRxu/720p.m3u8"mp4hls --encryption-key="f3f4ad2add3abff924f117aed8065ffb" --encryption-key-uri="http://localhost:3000/sentry.key" test_hub31_360p.mp4 test_hub31_720p.mp4 test_hub31_1080p.mp4 --exec-dir ../../Bento4-SDK-1-5-1-628.universal-apple-macosx/bin/ --signal-session-key --output-dir=
k1
QUtJQVpVTEg1WElKS0xSWE5EVzI=
k2
Zm8xbHNUa2NFNUZ3em0rV1RhNTc2c0hRSXRoZzJ5M3gwdVZaektkZg==// https://gist.github.com/mikoim/27e4e0dc64e384adbcb91ff10a2d3678
ffmpeg -hide_banner -y -v "quiet" -progress pipe:1 -i "inputloc" \
-c:a aac -ar 48000 -c:v libx264 -preset slow -profile:v high -crf 20 -movflags +faststart -pix_fmt yuv420p -sc_threshold 0 -g 60 -keyint_min 60 -bf 2// https://github.com/realeyes-media/demo-encoder
// https://slhck.info/video/2017/03/01/rate-control.html
// http://streamingmedia.brightcovegallery.com/category/videos/trending-videos-from-streaming-media-east-2019
// https://streaminglearningcenter.com/blog
// https://demo.unified-streaming.com/features/#!/hls{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::hub31vids",
"Condition": {
"StringLike": {
"s3:prefix": [
"${aws:username}/*",
"${aws:username}"
]
}
}
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::hub31-pub",
"Condition": {
"StringEquals": {
"s3:prefix": [
"",
"poster/"
],
"s3:delimiter": "/"
}
}
},
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::hub31-pub",
"Condition": {
"StringLike": {
"s3:prefix": [
"poster/${aws:username}/*",
"poster/${aws:username}"
]
}
}
},
{
"Sid": "VisualEditor3",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObjectAcl",
"s3:GetObject",
"s3:RestoreObject",
"s3:DeleteObject"
],
"Resource": "arn:aws:s3:::hub31vids/${aws:username}/*"
},
{
"Sid": "VisualEditor4",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObjectAcl",
"s3:GetObject",
"s3:RestoreObject",
"s3:ListBucket",
"s3:DeleteObject"
],
"Resource": "arn:aws:s3:::hub31-pub/poster/${aws:username}/*"
},
{
"Sid": "VisualEditor5",
"Effect": "Allow",
"Action": "s3:HeadBucket",
"Resource": "arn:aws:s3:::hub31vids/${aws:username}/*"
},
{
"Sid": "VisualEditor6",
"Effect": "Allow",
"Action": "s3:HeadBucket",
"Resource": "arn:aws:s3:::hub31-pub/poster/${aws:username}/*"
}
]
}a9e5d2ef-0881-4f4b-a497-7d0ae127fd02
AccessKeyId QUtJQVFEVzdKUVdWQkxKRU0yVFY=
SAK amFqVzViNU5icmhHZzRvOHZCSE9xTFUyVGhxODlaRjFzMHhSUXJaZg==