Add script for streaming while saving a local copy of the video

This commit is contained in:
dec05eba 2020-08-29 07:30:43 +02:00
parent 0780efe87d
commit f7f8ef1747
5 changed files with 10 additions and 4 deletions

View File

@ -39,3 +39,4 @@ libraries at compile-time.
* Clean up the code! * Clean up the code!
* Fix segfault in debug mode (happens because audio codec becomes NULL?) * 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! * 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.

View File

@ -27,4 +27,4 @@ read output_file_name
output_dir=$(dirname "$output_file_name") output_dir=$(dirname "$output_file_name")
mkdir -p "$output_dir" 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"

View File

@ -1,4 +1,4 @@
#!/bin/sh #!/bin/sh
[ "$#" -ne 5 ] && echo "usage: replay.sh <window_id> <fps> <audio_input> <replay_time_sec> <output_file>" && exit 1 [ "$#" -ne 5 ] && echo "usage: replay.sh <window_id> <fps> <audio_input> <replay_time_sec> <output_file>" && 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"

6
twitch-stream-local-copy.sh Executable file
View File

@ -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 <window_id> <fps> <audio_input> <livestream_key> <local_file>" && 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"

View File

@ -1,5 +1,4 @@
#!/bin/sh #!/bin/sh
[ "$#" -ne 4 ] && echo "usage: twitch-stream.sh <window_id> <fps> <audio_input> <livestream_key>" && exit 1 [ "$#" -ne 4 ] && echo "usage: twitch-stream.sh <window_id> <fps> <audio_input> <livestream_key>" && exit 1
#ismv ./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"
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"