Revert "improve stream testing script (#2525)"

This reverts commit e748d8f765.
This commit is contained in:
Gabe Kangas
2023-01-04 14:22:55 -08:00
parent 2c6fd67276
commit 2675150cdf
10 changed files with 121 additions and 142 deletions

View File

@@ -374,9 +374,10 @@ test('verify updated config values', async (done) => {
test('verify admin stream details', async (done) => {
const res = await getAdminResponse('status');
expect(res.body.broadcaster.streamDetails.width).toBe(1280);
expect(res.body.broadcaster.streamDetails.height).toBe(720);
expect(res.body.broadcaster.streamDetails.framerate).toBe(60);
expect(res.body.broadcaster.streamDetails.width).toBe(320);
expect(res.body.broadcaster.streamDetails.height).toBe(180);
expect(res.body.broadcaster.streamDetails.framerate).toBe(24);
expect(res.body.broadcaster.streamDetails.videoBitrate).toBe(1269);
expect(res.body.broadcaster.streamDetails.videoCodec).toBe('H.264');
expect(res.body.broadcaster.streamDetails.audioCodec).toBe('AAC');
expect(res.body.online).toBe(true);

View File

@@ -6,13 +6,14 @@ TEMP_DB=$(mktemp)
npm install --quiet --no-progress
# Download a specific version of ffmpeg
FFMPEG_PATH=$(mktemp -d)
pushd "$FFMPEG_PATH" >/dev/null || exit
curl -sL --fail https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.4.1/ffmpeg-4.4.1-linux-64.zip --output ffmpeg.zip >/dev/null
unzip -o ffmpeg.zip >/dev/null
chmod +x ffmpeg
PATH=$FFMPEG_PATH:$PATH
popd >/dev/null || exit
if [ ! -d "ffmpeg" ]; then
mkdir ffmpeg
pushd ffmpeg >/dev/null || exit
curl -sL https://github.com/vot/ffbinaries-prebuilt/releases/download/v4.2.1/ffmpeg-4.2.1-linux-64.zip --output ffmpeg.zip >/dev/null
unzip -o ffmpeg.zip >/dev/null
PATH=$PATH:$(pwd)
popd >/dev/null || exit
fi
pushd ../../.. >/dev/null || exit
@@ -26,12 +27,12 @@ sleep 5
# Start streaming the test file over RTMP to
# the local owncast instance.
../../ocTestStream.sh &
ffmpeg -hide_banner -loglevel panic -stream_loop -1 -re -i ../test.mp4 -vcodec libx264 -profile:v main -sc_threshold 0 -b:v 1300k -acodec copy -f flv rtmp://127.0.0.1/live/abc123 &
FFMPEG_PID=$!
function finish {
rm "$TEMP_DB"
kill $SERVER_PID $FFMPEG_PID
rm -fr "$TEMP_DB" "$FFMPEG_PATH"
}
trap finish EXIT

View File

@@ -22,13 +22,15 @@ npm install --quiet --no-progress
popd
# Download a specific version of ffmpeg
FFMPEG_PATH=$(mktemp -d)
pushd "$FFMPEG_PATH" >/dev/null || exit
curl -sL --fail https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.4.1/ffmpeg-4.4.1-linux-64.zip --output ffmpeg.zip >/dev/null
unzip -o ffmpeg.zip >/dev/null
chmod +x ffmpeg
PATH=$FFMPEG_PATH:$PATH
popd >/dev/null || exit
if [ ! -d "ffmpeg" ]; then
echo "Downloading ffmpeg..."
mkdir -p /tmp/ffmpeg
pushd /tmp/ffmpeg >/dev/null
curl -sL --fail https://github.com/vot/ffbinaries-prebuilt/releases/download/v4.2.1/ffmpeg-4.2.1-linux-64.zip --output ffmpeg.zip
unzip -o ffmpeg.zip >/dev/null
PATH=$PATH:$(pwd)
popd >/dev/null
fi
# Build and run owncast from source
echo "Building owncast..."
@@ -47,13 +49,13 @@ npx cypress run --group "mobile-offline" --ci-build-id $BUILD_ID --tag "mobile,o
# Start streaming the test file over RTMP to
# the local owncast instance.
echo "Waiting for stream to start..."
../../ocTestStream.sh &
ffmpeg -hide_banner -loglevel panic -stream_loop -1 -re -i ../test.mp4 -vcodec libx264 -profile:v main -sc_threshold 0 -b:v 1300k -acodec copy -f flv rtmp://127.0.0.1/live/abc123 &
STREAMING_CLIENT=$!
function finish {
echo "Cleaning up..."
rm "$TEMP_DB"
kill $SERVER_PID $STREAMING_CLIENT
rm -fr "$TEMP_DB" "$FFMPEG_PATH"
}
trap finish EXIT SIGHUP SIGINT SIGTERM SIGQUIT SIGABRT SIGTERM

View File

@@ -2,6 +2,13 @@
set -e
function start_stream() {
# Start streaming the test file over RTMP to
# the local owncast instance.
ffmpeg -hide_banner -loglevel panic -stream_loop -1 -re -i ../test.mp4 -vcodec libx264 -profile:v main -sc_threshold 0 -b:v 1300k -acodec copy -f flv rtmp://127.0.0.1/live/abc123 &
STREAMING_CLIENT=$!
}
function update_storage_config() {
echo "Configuring external storage to use ${S3_BUCKET}..."
@@ -17,13 +24,14 @@ TEMP_DB=$(mktemp)
npm install --silent >/dev/null
# Download a specific version of ffmpeg
FFMPEG_PATH=$(mktemp -d)
pushd "$FFMPEG_PATH" >/dev/null || exit
curl -sL --fail https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.4.1/ffmpeg-4.4.1-linux-64.zip --output ffmpeg.zip >/dev/null
unzip -o ffmpeg.zip >/dev/null
chmod +x ffmpeg
PATH=$FFMPEG_PATH:$PATH
popd >/dev/null || exit
if [ ! -d "ffmpeg" ]; then
mkdir ffmpeg
pushd ffmpeg >/dev/null
curl -sL https://github.com/vot/ffbinaries-prebuilt/releases/download/v4.2.1/ffmpeg-4.2.1-linux-64.zip --output ffmpeg.zip >/dev/null
unzip -o ffmpeg.zip >/dev/null
PATH=$PATH:$(pwd)
popd >/dev/null
fi
pushd ../../.. >/dev/null
@@ -32,19 +40,18 @@ go build -o owncast main.go
./owncast -database "$TEMP_DB" &
SERVER_PID=$!
function finish {
echo "Cleaning up..."
rm "$TEMP_DB"
kill $SERVER_PID $STREAMING_CLIENT
}
trap finish EXIT
popd >/dev/null
sleep 5
# Start the stream.
../../ocTestStream.sh &
STREAMING_CLIENT=$!
function finish {
echo "Cleaning up..."
kill $SERVER_PID $STREAMING_CLIENT
rm -fr "$TEMP_DB" "$FFMPEG_PATH"
}
trap finish EXIT
start_stream
echo "Waiting..."
sleep 13

BIN
test/automated/test.mp4 Normal file

Binary file not shown.