...
Note |
---|
Since an RTMP stream is sent from an encoder to Phenix via RTMP, the encoder must be set up to send its output to Phenix. This means that, while the Phenix Customer Portal can be used to obtain information such as the stream key, the Portal’s publishing tab cannot be used to publish RTMP to the Phenix platform. |
The examples shown below include optional “tags” for completeness.
Encoder Configuration for RTMP Ingest
...
ffmpeg -re -f lavfi -i testsrc=size=1280x720:rate=30 -f lavfi -i aevalsrc="0.1*sin(2*PI*(360-2.5/2)*t) | 0.1*sin(2*PI*(360+2.5/2)*t)" -pix_fmt yuv420p -vcodec libx264 -profile:v baseline -deblock 1:0 -bitrate 500k -tune zerolatency -x264opts keyint=30 -acodec aac -ar 48000 -ac 2 -b:a 128k -f flv rtmp://ingest.phenixrts.com:80/ingest/96characterStreamKey;capabilities=hd,multi-bitrate,mpegts-unicast-ingest;tags=my-awesome-stream-id,MyAppId
Where : 96characterStreamKey is the stream key to be used when publishing. This can be found in the Customer Portal under the Properties tab for a Channel or Room.
...
MyAppId is your application ID
To measure latency, add a timestamp overlay:
ffmpeg -re -f lavfi -i testsrc=size=1280x720:rate=30 -f lavfi -i aevalsrc="0.1*sin(2*PI*(360-2.5/2)*t) | 0.1*sin(2*PI*(360+2.5/2)*t)" -pix_fmt yuv420p
-vf "drawtext=text='timestamp: %{pts \: hms}': x=20: y=20: fontsize=72:fontcolor=white@0.9: box=1: boxcolor=black@0.6" -vcodec libx264 -profile:v baseline -deblock 1:0 -bitrate 500k -tune zerolatency -x264opts keyint=30 -acodec aac -ar 48000 -ac 2 -b:a 128k -f flv rtmp://ingest.phenixrts.com:80/ingest/96characterStreamKey;capabilities=hd,multi-bitrate,mpegts-unicast-ingest;tags=my-awesome-stream-id,MyAppId
Where:
Note |
---|
On MacOS and Linux, you may need to add quotation marks around the second argument in order to not lose information after the semicolon: |
Where 96characterStreamKey is the stream key to be used when publishing. This can be found in the Customer Portal under the Properties tab for a Channel or Room.
...
MyAppId is your application ID
...
API Usage
For details on API usage, please refer to https://phenixrts.com/docs/api/?http#rtmp-ingest . To take advantage of Real-time RTMP, you must include the mpegts-unicast-ingest
capability.
...
rtmp://ingest.phenixrts.com:80/ingest/
96characterStreamKey;capabilities=hd,multi-bitrate,mpegts-multicast-ingest;tags=my-awesome-stream-id,
MyAppId
Where : 96characterStreamKey is the stream key to be used when publishing. This can be found in the Customer Portal under the Properties tab for a Channel or Room.
...