@@ -359,174 +359,6 @@ jobs:
359359 run : exit 1
360360 runs-on : ubuntu-22.04
361361
362- openssl-1-0-1k :
363- name : " With OpenSSL 1.0.1k"
364- needs : build
365- steps :
366- - name : Checkout repository
367- uses : actions/checkout@v4
368- - name : Build OpenSSL 1.0.1k
369- run : |
370- set -euxo pipefail
371- curl -s -L https://www.openssl.org/source/openssl-1.0.1k.tar.gz | tar xz
372- cd openssl-1.0.1k
373- ./config --prefix=$HOME/.release/openssl && make -j1
374- sudo make install_sw
375- - name : Download Test File
376- run : |
377- set -euxo pipefail
378- curl -s -L -O https://github.com/ossrs/ffmpeg-webrtc/releases/download/pre-release/bbb-4mbps-baseline-opus.mp4
379- - name : Build FFmpeg
380- run : |
381- set -euxo pipefail
382-
383- # Install dependencies
384- sudo apt-get update
385- sudo apt-get install -y nasm pkg-config jq libopus-dev libx264-dev
386-
387- # Build FFmpeg with WebRTC support
388- PKG_CONFIG_PATH="$HOME/.release/openssl/lib/pkgconfig" \
389- ./configure --enable-muxer=whip --enable-openssl \
390- --extra-cflags="-I$HOME/.release/openssl/include" \
391- --extra-ldflags="-L$HOME/.release/openssl/lib" \
392- --pkg-config-flags="--static"
393- make -j$(nproc)
394- ./ffmpeg -version && ./ffmpeg -muxers 2>/dev/null |grep whip
395- - name : Start SRS Docker container
396- run : |
397- set -euxo pipefail
398- ip=$(ifconfig eth0 | grep 'inet ' | awk '{print $2}')
399- docker run --rm -d -p 1935:1935 -p 1985:1985 -p 8080:8080 \
400- --env CANDIDATE=$ip -p 8000:8000/udp \
401- ossrs/srs:5 ./objs/srs -c conf/rtc2rtmp.conf
402- - name : Streaming with FFmpeg
403- run : |
404- set -euxo pipefail
405- nohup ./ffmpeg -t 30 -re -i bbb-4mbps-baseline-opus.mp4 -c copy \
406- -f whip "http://localhost:1985/rtc/v1/whip/?app=live&stream=livestream" \
407- 1>ffstdout.log 2>ffstderr.log &
408- - name : Check SRS Streaming
409- id : streaming
410- run : |
411- set -euxo pipefail
412-
413- # Check streams in SRS.
414- for ((i=0; i<10; i++)); do
415- STREAM=$(curl -s http://localhost:1985/api/v1/streams/ | jq -r '.streams[].name')
416- if [[ "$STREAM" == "livestream" ]]; then
417- echo 'Test OK';
418- echo "has_stream=true" >> $GITHUB_OUTPUT
419- break;
420- fi
421- sleep 3
422- done
423-
424- if [[ "$STREAM" != "livestream" ]]; then
425- echo "Stream not found: $STREAM"
426- echo "has_stream=false" >> $GITHUB_OUTPUT
427- fi
428- - name : Stop FFmpeg normally
429- run : |
430- pkill -SIGINT ffmpeg && sleep 3 ||
431- echo "FFmpeg process not found or already stopped."
432- - name : Show FFmpeg Stdout Log
433- run : cat ffstdout.log
434- - name : Show FFmpeg Stderr Log
435- run : cat ffstderr.log
436- - name : Check FFmpeg Exit Log
437- run : |
438- set -euxo pipefail
439- cat ffstderr.log |grep 'Exiting normally' && exit 0
440- echo "Exiting normally not found in ffstderr.log" && exit 1
441- - name : Check Stream Existence
442- if : ${{ steps.streaming.outputs.has_stream == 'false' }}
443- run : exit 1
444- runs-on : ubuntu-22.04
445-
446- openssl-1-0-2 :
447- name : " With OpenSSL 1.0.2"
448- needs : build
449- steps :
450- - name : Checkout repository
451- uses : actions/checkout@v4
452- - name : Build OpenSSL 1.0.2
453- run : |
454- set -euxo pipefail
455- curl -s -L https://www.openssl.org/source/openssl-1.0.2.tar.gz | tar xz
456- cd openssl-1.0.2
457- ./config --prefix=$HOME/.release/openssl
458- make -j1 && sudo make install_sw
459- - name : Download Test File
460- run : |
461- set -euxo pipefail
462- curl -s -L -O https://github.com/ossrs/ffmpeg-webrtc/releases/download/pre-release/bbb-4mbps-baseline-opus.mp4
463- - name : Build FFmpeg
464- run : |
465- set -euxo pipefail
466-
467- # Install dependencies
468- sudo apt-get update
469- sudo apt-get install -y nasm pkg-config jq libopus-dev libx264-dev
470-
471- # Build FFmpeg with WebRTC support
472- PKG_CONFIG_PATH="$HOME/.release/openssl/lib/pkgconfig" \
473- ./configure --enable-muxer=whip --enable-openssl \
474- --extra-cflags="-I$HOME/.release/openssl/include" \
475- --extra-ldflags="-L$HOME/.release/openssl/lib" \
476- --pkg-config-flags="--static"
477- make -j$(nproc)
478- ./ffmpeg -version && ./ffmpeg -muxers 2>/dev/null |grep whip
479- - name : Start SRS Docker container
480- run : |
481- set -euxo pipefail
482- ip=$(ifconfig eth0 | grep 'inet ' | awk '{print $2}')
483- docker run --rm -d -p 1935:1935 -p 1985:1985 -p 8080:8080 \
484- --env CANDIDATE=$ip -p 8000:8000/udp \
485- ossrs/srs:5 ./objs/srs -c conf/rtc2rtmp.conf
486- - name : Streaming with FFmpeg
487- run : |
488- set -euxo pipefail
489- nohup ./ffmpeg -t 30 -re -i bbb-4mbps-baseline-opus.mp4 -c copy \
490- -f whip "http://localhost:1985/rtc/v1/whip/?app=live&stream=livestream" \
491- 1>ffstdout.log 2>ffstderr.log &
492- - name : Check SRS Streaming
493- id : streaming
494- run : |
495- set -euxo pipefail
496-
497- # Check streams in SRS.
498- for ((i=0; i<10; i++)); do
499- STREAM=$(curl -s http://localhost:1985/api/v1/streams/ | jq -r '.streams[].name')
500- if [[ "$STREAM" == "livestream" ]]; then
501- echo 'Test OK';
502- echo "has_stream=true" >> $GITHUB_OUTPUT
503- break;
504- fi
505- sleep 3
506- done
507-
508- if [[ "$STREAM" != "livestream" ]]; then
509- echo "Stream not found: $STREAM"
510- echo "has_stream=false" >> $GITHUB_OUTPUT
511- fi
512- - name : Stop FFmpeg normally
513- run : |
514- pkill -SIGINT ffmpeg && sleep 3 ||
515- echo "FFmpeg process not found or already stopped."
516- - name : Show FFmpeg Stdout Log
517- run : cat ffstdout.log
518- - name : Show FFmpeg Stderr Log
519- run : cat ffstderr.log
520- - name : Check FFmpeg Exit Log
521- run : |
522- set -euxo pipefail
523- cat ffstderr.log |grep 'Exiting normally' && exit 0
524- echo "Exiting normally not found in ffstderr.log" && exit 1
525- - name : Check Stream Existence
526- if : ${{ steps.streaming.outputs.has_stream == 'false' }}
527- run : exit 1
528- runs-on : ubuntu-22.04
529-
530362 openssl-1-1-0h :
531363 name : " With OpenSSL 1.1.0h"
532364 needs : build
@@ -850,8 +682,6 @@ jobs:
850682 - pion
851683 - janus
852684 - asan
853- - openssl-1-0-1k
854- - openssl-1-0-2
855685 - openssl-1-1-0h
856686 - openssl-3-0
857687 - openssl-latest
0 commit comments