Move scripts to script dir, add youtube-hls-stream script, fix twitch stream script
This commit is contained in:
17
scripts/interactive.sh
Executable file
17
scripts/interactive.sh
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
selected_audio_input="$(pactl get-default-sink).monitor"
|
||||
|
||||
echo "Select a window to record"
|
||||
window_id=$(xdotool selectwindow)
|
||||
|
||||
echo -n "Enter video fps: "
|
||||
read fps
|
||||
|
||||
echo -n "Enter output file name: "
|
||||
read output_file_name
|
||||
|
||||
output_dir=$(dirname "$output_file_name")
|
||||
mkdir -p "$output_dir"
|
||||
|
||||
gpu-screen-recorder -w "$window_id" -c mp4 -f "$fps" -a "$selected_audio_input" -o "$output_file_name"
|
||||
3
scripts/list-sinks.sh
Executable file
3
scripts/list-sinks.sh
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
pactl list | grep -E '(Description: Monitor of)|(Monitor Source: )'
|
||||
6
scripts/replay.sh
Executable file
6
scripts/replay.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
[ "$#" -ne 4 ] && echo "usage: replay.sh <window_id> <fps> <replay_time_sec> <output_directory>" && exit 1
|
||||
active_sink="$(pactl get-default-sink).monitor"
|
||||
mkdir -p "$4"
|
||||
gpu-screen-recorder -w "$1" -c mp4 -f "$2" -a "$active_sink" -r "$3" -o "$4"
|
||||
9
scripts/toggle-recording-selected.sh
Executable file
9
scripts/toggle-recording-selected.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
killall -INT gpu-screen-recorder && notify-send -u low 'GPU Screen Recorder' 'Stopped recording' && exit 0;
|
||||
window=$(xdotool selectwindow)
|
||||
active_sink="$(pactl get-default-sink).monitor"
|
||||
mkdir -p "$HOME/Videos"
|
||||
video="$HOME/Videos/$(date +"Video_%Y-%m-%d_%H-%M-%S.mp4")"
|
||||
notify-send -u low 'GPU Screen Recorder' "Started recording video to $video"
|
||||
gpu-screen-recorder -w "$window" -c mp4 -f 60 -a "$active_sink" -o "$video"
|
||||
7
scripts/twitch-stream-local-copy.sh
Executable file
7
scripts/twitch-stream-local-copy.sh
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Stream on twitch while also saving the video to disk locally
|
||||
|
||||
[ "$#" -ne 4 ] && echo "usage: twitch-stream-local-copy.sh <window_id> <fps> <livestream_key> <local_file>" && exit 1
|
||||
active_sink="$(pactl get-default-sink).monitor"
|
||||
gpu-screen-recorder -w "$1" -c flv -f "$2" -a "$active_sink" | tee -- "$4" | ffmpeg -i pipe:0 -c copy -f flv -- "rtmp://live.twitch.tv/app/$3"
|
||||
5
scripts/twitch-stream.sh
Executable file
5
scripts/twitch-stream.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ "$#" -ne 3 ] && echo "usage: twitch-stream.sh <window_id> <fps> <livestream_key>" && exit 1
|
||||
active_sink="$(pactl get-default-sink).monitor"
|
||||
gpu-screen-recorder -w "$1" -c flv -f "$2" -a "$active_sink" -o "rtmp://live.twitch.tv/app/$3"
|
||||
11
scripts/youtube-hls-stream.sh
Executable file
11
scripts/youtube-hls-stream.sh
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ "$#" -ne 3 ] && echo "usage: youtube-hls-stream.sh <window_id> <fps> <livestream_key>" && exit 1
|
||||
mkdir "youtube_stream"
|
||||
cd "youtube_stream"
|
||||
active_sink="$(pactl get-default-sink).monitor"
|
||||
gpu-screen-recorder -w "$1" -c mpegts -f "$2" -a "$active_sink" | ffmpeg -i pipe:0 -c copy -f hls \
|
||||
-hls_time 2 -hls_flags independent_segments -hls_flags delete_segments -hls_segment_type mpegts -hls_segment_filename stream%02d.ts -master_pl_name stream.m3u8 out1 &
|
||||
echo "Waiting until stream segments are created..."
|
||||
sleep 10
|
||||
ffmpeg -i stream.m3u8 -c copy -- "https://a.upload.youtube.com/http_upload_hls?cid=$3©=0&file=stream.m3u8"
|
||||
Reference in New Issue
Block a user