From f7f8ef174760d94088878ccf9db4fcada3c2aaf0 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sat, 29 Aug 2020 07:30:43 +0200 Subject: Add script for streaming while saving a local copy of the video --- README.md | 1 + interactive.sh | 2 +- replay.sh | 2 +- twitch-stream-local-copy.sh | 6 ++++++ twitch-stream.sh | 3 +-- 5 files changed, 10 insertions(+), 4 deletions(-) create mode 100755 twitch-stream-local-copy.sh diff --git a/README.md b/README.md index 8f1c9ca..750b8af 100644 --- a/README.md +++ b/README.md @@ -39,3 +39,4 @@ libraries at compile-time. * Clean up the code! * Fix segfault in debug mode (happens because audio codec becomes NULL?) * Fix blackscreen at start that appears until the second keyframe, which can be several seconds on a non-moving screen. Why does this happen? ffmpeg says the first frame should always be a keyframe! +* Dynamically change bitrate to match desired fps. This would be helpful when streaming for example, where the encode output speed also depends on upload speed to the stream service. diff --git a/interactive.sh b/interactive.sh index 54a4d62..d807d05 100755 --- a/interactive.sh +++ b/interactive.sh @@ -27,4 +27,4 @@ read output_file_name output_dir=$(dirname "$output_file_name") mkdir -p "$output_dir" -sibs build --release && ./sibs-build/linux_x86_64/release/gpu-screen-recorder -w "$window_id" -c mp4 -f "$fps" -a "$selected_audio_input" > "$output_file_name" +./sibs-build/linux_x86_64/release/gpu-screen-recorder -w "$window_id" -c mp4 -f "$fps" -a "$selected_audio_input" > "$output_file_name" diff --git a/replay.sh b/replay.sh index 53f9bf6..8842f5c 100755 --- a/replay.sh +++ b/replay.sh @@ -1,4 +1,4 @@ #!/bin/sh [ "$#" -ne 5 ] && echo "usage: replay.sh " && exit 1 -sibs build --release && ./sibs-build/linux_x86_64/release/gpu-screen-recorder -w "$1" -c mp4 -f "$2" -a "$3" -r "$4" -o "$5" +./sibs-build/linux_x86_64/release/gpu-screen-recorder -w "$1" -c mp4 -f "$2" -a "$3" -r "$4" -o "$5" diff --git a/twitch-stream-local-copy.sh b/twitch-stream-local-copy.sh new file mode 100755 index 0000000..8101bbc --- /dev/null +++ b/twitch-stream-local-copy.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +# Stream on twitch while also saving the video to disk locally + +[ "$#" -ne 5 ] && echo "usage: twitch-stream-local-copy.sh " && exit 1 +./sibs-build/linux_x86_64/release/gpu-screen-recorder -w "$1" -c flv -f "$2" -a "$3" | tee -- "$5" | ffmpeg -i pipe:0 -c:v copy -f flv -- "rtmp://live.twitch.tv/app/$4" diff --git a/twitch-stream.sh b/twitch-stream.sh index 7f9a037..325fd23 100755 --- a/twitch-stream.sh +++ b/twitch-stream.sh @@ -1,5 +1,4 @@ #!/bin/sh [ "$#" -ne 4 ] && echo "usage: twitch-stream.sh " && exit 1 -#ismv -sibs build --release && ./sibs-build/linux_x86_64/release/gpu-screen-recorder -w "$1" -c flv -f "$2" -a "$3" | ffmpeg -i pipe:0 -c:v copy -f flv -max_muxing_queue_size 4096 -- "rtmp://live.twitch.tv/app/$4" +./sibs-build/linux_x86_64/release/gpu-screen-recorder -w "$1" -c flv -f "$2" -a "$3" | ffmpeg -i pipe:0 -c:v copy -f flv -- "rtmp://live.twitch.tv/app/$4" -- cgit v1.2.3