From 76a04cdec609f416c99e40d464df47307c81b659 Mon Sep 17 00:00:00 2001 From: Jack Lau Date: Tue, 22 Jul 2025 11:42:36 +0800 Subject: [PATCH 1/2] workflows/test: fix compilation link the wrong openssl Signed-off-by: Jack Lau --- .github/workflows/test.yml | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1a8ced2650028..2ef70552f9ce1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -386,7 +386,10 @@ jobs: # Build FFmpeg with WebRTC support PKG_CONFIG_PATH="$HOME/.release/openssl/lib/pkgconfig" \ - ./configure --enable-muxer=whip --enable-openssl --enable-version3 + ./configure --enable-muxer=whip --enable-openssl \ + --extra-cflags="-I$HOME/.release/openssl/include" \ + --extra-ldflags="-L$HOME/.release/openssl/lib" \ + --pkg-config-flags="--static" make -j$(nproc) ./ffmpeg -version && ./ffmpeg -muxers 2>/dev/null |grep whip - name: Start SRS Docker container @@ -467,7 +470,10 @@ jobs: # Build FFmpeg with WebRTC support PKG_CONFIG_PATH="$HOME/.release/openssl/lib/pkgconfig" \ - ./configure --enable-muxer=whip --enable-openssl --enable-version3 + ./configure --enable-muxer=whip --enable-openssl \ + --extra-cflags="-I$HOME/.release/openssl/include" \ + --extra-ldflags="-L$HOME/.release/openssl/lib" \ + --pkg-config-flags="--static" make -j$(nproc) ./ffmpeg -version && ./ffmpeg -muxers 2>/dev/null |grep whip - name: Start SRS Docker container @@ -548,7 +554,10 @@ jobs: # Build FFmpeg with WebRTC support PKG_CONFIG_PATH="$HOME/.release/openssl/lib/pkgconfig" \ - ./configure --enable-muxer=whip --enable-openssl --enable-version3 + ./configure --enable-muxer=whip --enable-openssl \ + --extra-cflags="-I$HOME/.release/openssl/include" \ + --extra-ldflags="-L$HOME/.release/openssl/lib" \ + --pkg-config-flags="--static" make -j$(nproc) ./ffmpeg -version && ./ffmpeg -muxers 2>/dev/null |grep whip - name: Start SRS Docker container @@ -626,6 +635,9 @@ jobs: # Build FFmpeg with WebRTC support PKG_CONFIG_PATH="$HOME/.release/openssl/lib/pkgconfig" \ ./configure --enable-muxer=whip --enable-openssl --enable-version3 \ + --extra-cflags="-I$HOME/.release/openssl/include" \ + --extra-ldflags="-L$HOME/.release/openssl/lib" \ + --pkg-config-flags="--static" \ --enable-libx264 --enable-gpl --enable-libopus make -j$(nproc) ./ffmpeg -version && ./ffmpeg -muxers 2>/dev/null |grep whip @@ -705,6 +717,9 @@ jobs: # Build FFmpeg with WebRTC support PKG_CONFIG_PATH="$HOME/.release/openssl/lib/pkgconfig" \ ./configure --enable-muxer=whip --enable-openssl --enable-version3 \ + --extra-cflags="-I$HOME/.release/openssl/include" \ + --extra-ldflags="-L$HOME/.release/openssl/lib" \ + --pkg-config-flags="--static" \ --enable-libx264 --enable-gpl --enable-libopus make -j$(nproc) ./ffmpeg -version && ./ffmpeg -muxers 2>/dev/null |grep whip From 674e78dd6c38cbe8820fddf90449b60747b74cde Mon Sep 17 00:00:00 2001 From: Jack Lau Date: Tue, 22 Jul 2025 12:13:28 +0800 Subject: [PATCH 2/2] workflows/test: drop support for openssl < 1.1.0 Signed-off-by: Jack Lau --- .github/workflows/test.yml | 170 ------------------------------------- 1 file changed, 170 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2ef70552f9ce1..219982047c81a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -359,174 +359,6 @@ jobs: run: exit 1 runs-on: ubuntu-22.04 - openssl-1-0-1k: - name: "With OpenSSL 1.0.1k" - needs: build - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - name: Build OpenSSL 1.0.1k - run: | - set -euxo pipefail - curl -s -L https://www.openssl.org/source/openssl-1.0.1k.tar.gz | tar xz - cd openssl-1.0.1k - ./config --prefix=$HOME/.release/openssl && make -j1 - sudo make install_sw - - name: Download Test File - run: | - set -euxo pipefail - curl -s -L -O https://github.com/ossrs/ffmpeg-webrtc/releases/download/pre-release/bbb-4mbps-baseline-opus.mp4 - - name: Build FFmpeg - run: | - set -euxo pipefail - - # Install dependencies - sudo apt-get update - sudo apt-get install -y nasm pkg-config jq libopus-dev libx264-dev - - # Build FFmpeg with WebRTC support - PKG_CONFIG_PATH="$HOME/.release/openssl/lib/pkgconfig" \ - ./configure --enable-muxer=whip --enable-openssl \ - --extra-cflags="-I$HOME/.release/openssl/include" \ - --extra-ldflags="-L$HOME/.release/openssl/lib" \ - --pkg-config-flags="--static" - make -j$(nproc) - ./ffmpeg -version && ./ffmpeg -muxers 2>/dev/null |grep whip - - name: Start SRS Docker container - run: | - set -euxo pipefail - ip=$(ifconfig eth0 | grep 'inet ' | awk '{print $2}') - docker run --rm -d -p 1935:1935 -p 1985:1985 -p 8080:8080 \ - --env CANDIDATE=$ip -p 8000:8000/udp \ - ossrs/srs:5 ./objs/srs -c conf/rtc2rtmp.conf - - name: Streaming with FFmpeg - run: | - set -euxo pipefail - nohup ./ffmpeg -t 30 -re -i bbb-4mbps-baseline-opus.mp4 -c copy \ - -f whip "http://localhost:1985/rtc/v1/whip/?app=live&stream=livestream" \ - 1>ffstdout.log 2>ffstderr.log & - - name: Check SRS Streaming - id: streaming - run: | - set -euxo pipefail - - # Check streams in SRS. - for ((i=0; i<10; i++)); do - STREAM=$(curl -s http://localhost:1985/api/v1/streams/ | jq -r '.streams[].name') - if [[ "$STREAM" == "livestream" ]]; then - echo 'Test OK'; - echo "has_stream=true" >> $GITHUB_OUTPUT - break; - fi - sleep 3 - done - - if [[ "$STREAM" != "livestream" ]]; then - echo "Stream not found: $STREAM" - echo "has_stream=false" >> $GITHUB_OUTPUT - fi - - name: Stop FFmpeg normally - run: | - pkill -SIGINT ffmpeg && sleep 3 || - echo "FFmpeg process not found or already stopped." - - name: Show FFmpeg Stdout Log - run: cat ffstdout.log - - name: Show FFmpeg Stderr Log - run: cat ffstderr.log - - name: Check FFmpeg Exit Log - run: | - set -euxo pipefail - cat ffstderr.log |grep 'Exiting normally' && exit 0 - echo "Exiting normally not found in ffstderr.log" && exit 1 - - name: Check Stream Existence - if: ${{ steps.streaming.outputs.has_stream == 'false' }} - run: exit 1 - runs-on: ubuntu-22.04 - - openssl-1-0-2: - name: "With OpenSSL 1.0.2" - needs: build - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - name: Build OpenSSL 1.0.2 - run: | - set -euxo pipefail - curl -s -L https://www.openssl.org/source/openssl-1.0.2.tar.gz | tar xz - cd openssl-1.0.2 - ./config --prefix=$HOME/.release/openssl - make -j1 && sudo make install_sw - - name: Download Test File - run: | - set -euxo pipefail - curl -s -L -O https://github.com/ossrs/ffmpeg-webrtc/releases/download/pre-release/bbb-4mbps-baseline-opus.mp4 - - name: Build FFmpeg - run: | - set -euxo pipefail - - # Install dependencies - sudo apt-get update - sudo apt-get install -y nasm pkg-config jq libopus-dev libx264-dev - - # Build FFmpeg with WebRTC support - PKG_CONFIG_PATH="$HOME/.release/openssl/lib/pkgconfig" \ - ./configure --enable-muxer=whip --enable-openssl \ - --extra-cflags="-I$HOME/.release/openssl/include" \ - --extra-ldflags="-L$HOME/.release/openssl/lib" \ - --pkg-config-flags="--static" - make -j$(nproc) - ./ffmpeg -version && ./ffmpeg -muxers 2>/dev/null |grep whip - - name: Start SRS Docker container - run: | - set -euxo pipefail - ip=$(ifconfig eth0 | grep 'inet ' | awk '{print $2}') - docker run --rm -d -p 1935:1935 -p 1985:1985 -p 8080:8080 \ - --env CANDIDATE=$ip -p 8000:8000/udp \ - ossrs/srs:5 ./objs/srs -c conf/rtc2rtmp.conf - - name: Streaming with FFmpeg - run: | - set -euxo pipefail - nohup ./ffmpeg -t 30 -re -i bbb-4mbps-baseline-opus.mp4 -c copy \ - -f whip "http://localhost:1985/rtc/v1/whip/?app=live&stream=livestream" \ - 1>ffstdout.log 2>ffstderr.log & - - name: Check SRS Streaming - id: streaming - run: | - set -euxo pipefail - - # Check streams in SRS. - for ((i=0; i<10; i++)); do - STREAM=$(curl -s http://localhost:1985/api/v1/streams/ | jq -r '.streams[].name') - if [[ "$STREAM" == "livestream" ]]; then - echo 'Test OK'; - echo "has_stream=true" >> $GITHUB_OUTPUT - break; - fi - sleep 3 - done - - if [[ "$STREAM" != "livestream" ]]; then - echo "Stream not found: $STREAM" - echo "has_stream=false" >> $GITHUB_OUTPUT - fi - - name: Stop FFmpeg normally - run: | - pkill -SIGINT ffmpeg && sleep 3 || - echo "FFmpeg process not found or already stopped." - - name: Show FFmpeg Stdout Log - run: cat ffstdout.log - - name: Show FFmpeg Stderr Log - run: cat ffstderr.log - - name: Check FFmpeg Exit Log - run: | - set -euxo pipefail - cat ffstderr.log |grep 'Exiting normally' && exit 0 - echo "Exiting normally not found in ffstderr.log" && exit 1 - - name: Check Stream Existence - if: ${{ steps.streaming.outputs.has_stream == 'false' }} - run: exit 1 - runs-on: ubuntu-22.04 - openssl-1-1-0h: name: "With OpenSSL 1.1.0h" needs: build @@ -850,8 +682,6 @@ jobs: - pion - janus - asan - - openssl-1-0-1k - - openssl-1-0-2 - openssl-1-1-0h - openssl-3-0 - openssl-latest