Compare commits
No commits in common. "1e47ff3f640094cfc05dadafad62b1eadf412202" and "9029508c589ee6fe887daff49fbb6a4e9be31c5d" have entirely different histories.
1e47ff3f64
...
9029508c58
@ -37,5 +37,4 @@ firefox_config:
|
||||
# Instead, enable fingerprinting protection, which allows configuring an override.
|
||||
privacy.fingerprintingProtection: true
|
||||
# Allow sending dark mode preference to websites.
|
||||
# Allow sending timezone to websites.
|
||||
privacy.fingerprintingProtection.overrides: "+AllTargets,-CSSPrefersColorScheme,-JSDateTimeUTC"
|
||||
privacy.fingerprintingProtection.overrides: "+AllTargets,-CSSPrefersColorScheme"
|
||||
|
@ -14,16 +14,8 @@ function main {
|
||||
copy "${@}"
|
||||
elif [ "$cmd" = "h264" ]; then
|
||||
h264 "${@}"
|
||||
elif [ "$cmd" = "preprocess_hardware_h264" ]; then
|
||||
preprocess_hardware_h264 "${@}"
|
||||
elif [ "$cmd" = "software_h264" ]; then
|
||||
software_h264 "${@}"
|
||||
elif [ "$cmd" = "vp9" ]; then
|
||||
vp9 "${@}"
|
||||
elif [ "$cmd" = "preprocess_hardware_vp9" ]; then
|
||||
preprocess_hardware_vp9 "${@}"
|
||||
elif [ "$cmd" = "vp8" ]; then
|
||||
vp8 "${@}"
|
||||
elif [ "$cmd" = "software_vp8" ]; then
|
||||
software_vp8 "${@}"
|
||||
elif [ "$cmd" = "preprocess_h264" ]; then
|
||||
@ -48,15 +40,13 @@ function copy {
|
||||
USERNAME="$1"
|
||||
PASSWORD="$2"
|
||||
|
||||
set -x
|
||||
exec ffmpeg \
|
||||
-re \
|
||||
-stream_loop -1 \
|
||||
-i "$file_to_cast" \
|
||||
-c copy \
|
||||
-strict experimental \
|
||||
-f rtsp \
|
||||
-rtsp_transport tcp \
|
||||
-rtsp_transport udp \
|
||||
"rtsp://$USERNAME:$PASSWORD@172.16.16.251:8554/fetch"
|
||||
}
|
||||
|
||||
@ -68,8 +58,6 @@ function h264 {
|
||||
USERNAME="$1"
|
||||
PASSWORD="$2"
|
||||
|
||||
set -x
|
||||
|
||||
# -bf 0 :: Disable b-frames because webrtc doesn't support h264 streams with b-frames.
|
||||
exec ffmpeg \
|
||||
-re \
|
||||
@ -83,40 +71,14 @@ function h264 {
|
||||
-vf 'format=nv12|vaapi,hwupload' \
|
||||
-c:v h264_vaapi \
|
||||
-bf 0 \
|
||||
-strict -2 \
|
||||
-c:a opus \
|
||||
-b:a 320k \
|
||||
-ar 48000 \
|
||||
-f rtsp \
|
||||
-rtsp_transport tcp \
|
||||
-rtsp_transport udp \
|
||||
"rtsp://$USERNAME:$PASSWORD@172.16.16.251:8554/fetch"
|
||||
}
|
||||
|
||||
function preprocess_hardware_h264 {
|
||||
local file_to_cast file_to_save
|
||||
file_to_cast="$1"
|
||||
file_to_save="$2"
|
||||
|
||||
set -x
|
||||
|
||||
# -bf 0 :: Disable b-frames because webrtc doesn't support h264 streams with b-frames.
|
||||
exec ffmpeg \
|
||||
-init_hw_device vaapi=foo:/dev/dri/renderD128 \
|
||||
-hwaccel vaapi \
|
||||
-hwaccel_output_format vaapi \
|
||||
-hwaccel_device foo \
|
||||
-i "$file_to_cast" \
|
||||
-filter_hw_device foo \
|
||||
-vf 'format=nv12|vaapi,hwupload' \
|
||||
-c:v h264_vaapi \
|
||||
-bf 0 \
|
||||
-strict -2 \
|
||||
-c:a opus \
|
||||
-b:a 320k \
|
||||
-ar 48000 \
|
||||
"$file_to_save"
|
||||
}
|
||||
|
||||
function software_h264 {
|
||||
local file_to_cast
|
||||
file_to_cast="$3"
|
||||
@ -125,8 +87,6 @@ function software_h264 {
|
||||
USERNAME="$1"
|
||||
PASSWORD="$2"
|
||||
|
||||
set -x
|
||||
|
||||
# -bf 0 :: Disable b-frames because webrtc doesn't support h264 streams with b-frames.
|
||||
exec ffmpeg \
|
||||
-re \
|
||||
@ -138,7 +98,7 @@ function software_h264 {
|
||||
-b:a 320k \
|
||||
-ar 48000 \
|
||||
-f rtsp \
|
||||
-rtsp_transport tcp \
|
||||
-rtsp_transport udp \
|
||||
"rtsp://$USERNAME:$PASSWORD@172.16.16.251:8554/fetch"
|
||||
}
|
||||
|
||||
@ -147,8 +107,6 @@ function preprocess_h264 {
|
||||
file_to_cast="$1"
|
||||
file_to_save="$2"
|
||||
|
||||
set -x
|
||||
|
||||
# -bf 0 :: Disable b-frames because webrtc doesn't support h264 streams with b-frames.
|
||||
exec ffmpeg \
|
||||
-i "$file_to_cast" \
|
||||
@ -160,60 +118,25 @@ function preprocess_h264 {
|
||||
"$file_to_save"
|
||||
}
|
||||
|
||||
function vp9 {
|
||||
local file_to_cast
|
||||
file_to_cast="$3"
|
||||
|
||||
local USERNAME PASSWORD
|
||||
USERNAME="$1"
|
||||
PASSWORD="$2"
|
||||
|
||||
set -x
|
||||
|
||||
# -bf 0 :: Disable b-frames because webrtc doesn't support h264 streams with b-frames.
|
||||
exec ffmpeg \
|
||||
-re \
|
||||
-stream_loop -1 \
|
||||
-init_hw_device vaapi=foo:/dev/dri/renderD128 \
|
||||
-hwaccel vaapi \
|
||||
-hwaccel_output_format vaapi \
|
||||
-hwaccel_device foo \
|
||||
-i "$file_to_cast" \
|
||||
-filter_hw_device foo \
|
||||
-vf 'format=nv12|vaapi,hwupload' \
|
||||
-c:v vp9_vaapi \
|
||||
-bf 0 \
|
||||
-strict -2 \
|
||||
-c:a opus \
|
||||
-b:a 320k \
|
||||
-ar 48000 \
|
||||
-f rtsp \
|
||||
-rtsp_transport tcp \
|
||||
"rtsp://$USERNAME:$PASSWORD@172.16.16.251:8554/fetch"
|
||||
}
|
||||
|
||||
function preprocess_hardware_vp9 {
|
||||
function preprocess_vp8 {
|
||||
local file_to_cast file_to_save
|
||||
file_to_cast="$1"
|
||||
file_to_save="$2"
|
||||
|
||||
set -x
|
||||
|
||||
# -bf 0 :: Disable b-frames because webrtc doesn't support h264 streams with b-frames.
|
||||
# -strict -2 :: Enable support for experimental codecs like opus.
|
||||
# -b:v 1M :: Target 1 megabit/s
|
||||
# -crf 10 :: Target a quality level and adjust bitrate accordingly. This should be preferred, but ideally both should be used.
|
||||
exec ffmpeg \
|
||||
-init_hw_device vaapi=foo:/dev/dri/renderD128 \
|
||||
-hwaccel vaapi \
|
||||
-hwaccel_output_format vaapi \
|
||||
-hwaccel_device foo \
|
||||
-i "$file_to_cast" \
|
||||
-filter_hw_device foo \
|
||||
-vf 'format=nv12|vaapi,hwupload' \
|
||||
-c:v vp9_vaapi \
|
||||
-c:v vp8 \
|
||||
-b:v 1M \
|
||||
-crf 10 \
|
||||
-bf 0 \
|
||||
-strict -2 \
|
||||
-c:a opus \
|
||||
-b:a 320k \
|
||||
-ar 48000 \
|
||||
-strict -2 \
|
||||
"$file_to_save"
|
||||
}
|
||||
|
||||
@ -225,8 +148,6 @@ function software_vp8 {
|
||||
local file_to_cast
|
||||
file_to_cast="$3"
|
||||
|
||||
set -x
|
||||
|
||||
# -bf 0 :: Disable b-frames because webrtc doesn't support h264 streams with b-frames.
|
||||
# -strict -2 :: Enable support for experimental codecs like opus.
|
||||
# -b:v 1M :: Target 1 megabit/s
|
||||
@ -244,34 +165,10 @@ function software_vp8 {
|
||||
-ar 48000 \
|
||||
-strict -2 \
|
||||
-f rtsp \
|
||||
-rtsp_transport tcp \
|
||||
-rtsp_transport udp \
|
||||
"rtsp://$USERNAME:$PASSWORD@172.16.16.251:8554/fetch"
|
||||
}
|
||||
|
||||
function preprocess_vp8 {
|
||||
local file_to_cast file_to_save
|
||||
file_to_cast="$1"
|
||||
file_to_save="$2"
|
||||
|
||||
set -x
|
||||
|
||||
# -bf 0 :: Disable b-frames because webrtc doesn't support h264 streams with b-frames.
|
||||
# -strict -2 :: Enable support for experimental codecs like opus.
|
||||
# -b:v 1M :: Target 1 megabit/s
|
||||
# -crf 10 :: Target a quality level and adjust bitrate accordingly. This should be preferred, but ideally both should be used.
|
||||
exec ffmpeg \
|
||||
-i "$file_to_cast" \
|
||||
-c:v vp8 \
|
||||
-b:v 1M \
|
||||
-crf 10 \
|
||||
-bf 0 \
|
||||
-c:a opus \
|
||||
-b:a 320k \
|
||||
-ar 48000 \
|
||||
-strict -2 \
|
||||
"$file_to_save"
|
||||
}
|
||||
|
||||
function webcam {
|
||||
# Uses on-webcam h264 encoding.
|
||||
|
||||
@ -279,8 +176,6 @@ function webcam {
|
||||
USERNAME="$1"
|
||||
PASSWORD="$2"
|
||||
|
||||
set -x
|
||||
|
||||
exec ffmpeg \
|
||||
-re \
|
||||
-input_format h264 \
|
||||
@ -289,7 +184,7 @@ function webcam {
|
||||
-c:v copy \
|
||||
-an \
|
||||
-f rtsp \
|
||||
-rtsp_transport tcp \
|
||||
-rtsp_transport udp \
|
||||
"rtsp://$USERNAME:$PASSWORD@172.16.16.251:8554/fetch"
|
||||
}
|
||||
|
||||
@ -300,8 +195,6 @@ function encode_webcam {
|
||||
USERNAME="$1"
|
||||
PASSWORD="$2"
|
||||
|
||||
set -x
|
||||
|
||||
exec ffmpeg \
|
||||
-re \
|
||||
-vaapi_device /dev/dri/renderD128 \
|
||||
@ -310,7 +203,7 @@ function encode_webcam {
|
||||
-c:v h264_vaapi \
|
||||
-an \
|
||||
-f rtsp \
|
||||
-rtsp_transport tcp \
|
||||
-rtsp_transport udp \
|
||||
"rtsp://$USERNAME:$PASSWORD@172.16.16.251:8554/fetch"
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user