diff --git a/README.md b/README.md index de756e3097..b9eb8576c7 100644 --- a/README.md +++ b/README.md @@ -135,63 +135,13 @@ This section describes required fields for the json configuration file. - **fps**: Frames per second of the output video file - **file_path**: The file path of the output video file in YUV format -#### Example - -``` json -{ - "serverless_connection": { - "sender": { - "enabled": false, - "dest_ip": "127.0.0.1", - "dest_port": 8888 - }, - "autoclose": 20 - }, - - "bwe_feedback_duration": 200, - - "onnx": { - "onnx_model_path": "onnx-model.onnx" - }, - - "video_source":{ - "video_disabled": { - "enabled": true - }, - "webcam": { - "enabled": false - }, - "video_file": { - "enabled": true, - "height": 480, - "width": 640, - "fps": 24, - "file_path": "testmedia/test.yuv" - } - }, - - "audio_source": { - "microphone": { - "enabled": false - }, - "audio_file": { - "enabled": true, - "file_path": "testmedia/test.wav" - } - }, - "save_to_file": { - "enabled": true, - "audio": { - "file_path": "outaudio.wav" - }, - "video": { - "width": 640, - "height": 480, - "fps": 24, - "file_path": "outvideo.yuv" - } - } -} +#### Run peerconnection_serverless + +To better demonstrate the usage of peerconnection_serverless, we provide an all-inclusive corpus in `examples/peerconnection/serverless/corpus`. You can use the following commands to execute a tiny example. After these commands terminates, you will get `outvideo.yuv` and `outaudio.wav`. + +``` shell +sudo docker run -d --rm -v `pwd`/examples/peerconnection/serverless/corpus:/app -w /app --name alphartc alphartc peerconnection_serverless receiver.json +sudo docker exec alphartc peerconnection_serverless sender.json ``` ## Who Are We diff --git a/azure-pipelines.yml b/azure-pipelines.yml index e186a5bcd1..d232e8bedd 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -28,3 +28,9 @@ steps: - script: make app displayName: 'build application' +- script: make release + displayName: 'build release image' + +- script: docker run -d --rm -v `pwd`/examples/peerconnection/serverless/corpus:/app -w /app --name alphartc alphartc peerconnection_serverless receiver.json + && docker exec alphartc peerconnection_serverless sender.json + displayName: 'run example' diff --git a/examples/peerconnection/serverless/corpus/.gitattributes b/examples/peerconnection/serverless/corpus/.gitattributes new file mode 100644 index 0000000000..1bc3fe73aa --- /dev/null +++ b/examples/peerconnection/serverless/corpus/.gitattributes @@ -0,0 +1,3 @@ +*.onnx filter=lfs diff=lfs merge=lfs -text +*.wav filter=lfs diff=lfs merge=lfs -text +*.yuv filter=lfs diff=lfs merge=lfs -text diff --git a/examples/peerconnection/serverless/corpus/.gitignore b/examples/peerconnection/serverless/corpus/.gitignore new file mode 100644 index 0000000000..d066413835 --- /dev/null +++ b/examples/peerconnection/serverless/corpus/.gitignore @@ -0,0 +1,2 @@ +*.yuv +*.wav \ No newline at end of file diff --git a/examples/peerconnection/serverless/corpus/onnx-model.onnx b/examples/peerconnection/serverless/corpus/onnx-model.onnx new file mode 100644 index 0000000000..14d909d867 --- /dev/null +++ b/examples/peerconnection/serverless/corpus/onnx-model.onnx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7acd54d207063aa04284f8e4bba6e152f4599bf50c21c076345000768081fefe +size 1798574 diff --git a/examples/peerconnection/serverless/corpus/receiver.json b/examples/peerconnection/serverless/corpus/receiver.json new file mode 100644 index 0000000000..4105b796ad --- /dev/null +++ b/examples/peerconnection/serverless/corpus/receiver.json @@ -0,0 +1,53 @@ +{ + "serverless_connection": { + "autoclose": 20, + "sender": { + "enabled": false + }, + "receiver": { + "enabled": true, + "listening_ip": "0.0.0.0", + "listening_port": 8000 + } + }, + "bwe_feedback_duration": 200, + "onnx": { + "onnx_model_path": "onnx-model.onnx" + }, + "video_source": { + "video_disabled": { + "enabled": true + }, + "webcam": { + "enabled": false + }, + "video_file": { + "enabled": false, + "height": 240, + "width": 320, + "fps": 10, + "file_path": "testmedia/test.yuv" + } + }, + "audio_source": { + "microphone": { + "enabled": false + }, + "audio_file": { + "enabled": true, + "file_path": "testmedia/test.wav" + } + }, + "save_to_file": { + "enabled": true, + "audio": { + "file_path": "outaudio.wav" + }, + "video": { + "width": 320, + "height": 240, + "fps": 10, + "file_path": "outvideo.yuv" + } + } +} \ No newline at end of file diff --git a/examples/peerconnection/serverless/corpus/sender.json b/examples/peerconnection/serverless/corpus/sender.json new file mode 100644 index 0000000000..12d32d383e --- /dev/null +++ b/examples/peerconnection/serverless/corpus/sender.json @@ -0,0 +1,44 @@ +{ + "serverless_connection": { + "autoclose": 20, + "sender": { + "enabled": true, + "dest_ip": "0.0.0.0", + "dest_port": 8000 + }, + "receiver": { + "enabled": false + } + }, + "bwe_feedback_duration": 200, + "onnx": { + "onnx_model_path": "onnx-model.onnx" + }, + "video_source": { + "video_disabled": { + "enabled": false + }, + "webcam": { + "enabled": false + }, + "video_file": { + "enabled": true, + "height": 240, + "width": 320, + "fps": 10, + "file_path": "testmedia/test.yuv" + } + }, + "audio_source": { + "microphone": { + "enabled": false + }, + "audio_file": { + "enabled": true, + "file_path": "testmedia/test.wav" + } + }, + "save_to_file": { + "enabled": false + } +} \ No newline at end of file diff --git a/examples/peerconnection/serverless/corpus/testmedia/test.wav b/examples/peerconnection/serverless/corpus/testmedia/test.wav new file mode 100644 index 0000000000..462b5de6fe --- /dev/null +++ b/examples/peerconnection/serverless/corpus/testmedia/test.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c902083ca931d23a89d7470e4471e7d1405b1bdd3c19eb0803188c0dfbae3d58 +size 277060 diff --git a/examples/peerconnection/serverless/corpus/testmedia/test.yuv b/examples/peerconnection/serverless/corpus/testmedia/test.yuv new file mode 100644 index 0000000000..354fb7a966 --- /dev/null +++ b/examples/peerconnection/serverless/corpus/testmedia/test.yuv @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86ce07ff2c491abb679ee9cb698b668052d14495a81cf7cc219483d0a0e54a7e +size 921600