Difference between revisions of "GstSEIMetadata/Examples/Latency Measurement Example"
< GstSEIMetadata | Examples
Maumontero (talk | contribs) (Created page with "<noinclude> {{GstSEIMetadata/Head|previous=Examples/C Example|next=Performance|keywords=}} </noinclude> <noinclude> {{GstSEIMetadata/Foot|Examples/C Example|Performance}} </...") |
Maumontero (talk | contribs) |
||
Line 2: | Line 2: | ||
{{GstSEIMetadata/Head|previous=Examples/C Example|next=Performance|keywords=}} | {{GstSEIMetadata/Head|previous=Examples/C Example|next=Performance|keywords=}} | ||
</noinclude> | </noinclude> | ||
+ | |||
+ | =GstSEI Latency Measurement Example= | ||
+ | GstSEI also includes some examples of how can be used the element, the latency measurement example uses the seimetatester element to insert the time when the buffer flow for the element, insert that time as metadata with the seiinject, and send the buffer with UDP and in receiver gets the buffer by UDP, take the metadata with seiextract and compares the actual time when the buffer flow for the receiver and the time in the metadata. | ||
+ | |||
+ | ==Pipelines== | ||
+ | The example uses the following pipeline template for the sender: | ||
+ | <pre> | ||
+ | v4l2src device=%s ! videoconvert ! tee name=t ! x264enc speed-preset=ultrafast tune=zerolatency key-int-max=15 \ | ||
+ | ! seimetatester ! seiinject ! \ | ||
+ | queue name=%s min-threshold-time=0000000000 max-size-buffers=0 max-size-bytes=0 max-size-time=0 \ | ||
+ | ! rtph264pay ! udpsink host=%s port=%s t. ! queue ! \ | ||
+ | textoverlay name=%s text=\"Added delay: 0 ms\"! queue ! xvimagesink sync=false async=false | ||
+ | </pre> | ||
+ | |||
+ | And for the receiver use the following pipeline template: | ||
+ | <pre> | ||
+ | udpsrc address=%s port=%s ! \ | ||
+ | application/x-rtp,media=video,clock-rate=90000,encoding-name=H264,packetization-mode=1,profile-level-id=640014 \ | ||
+ | ! rtph264depay ! queue ! seiextract name=%s ! avdec_h264 ! textoverlay name=%s ! \ | ||
+ | xvimagesink sync=false async=false | ||
+ | </pre> | ||
Revision as of 10:14, 15 July 2021
GstSEIMetadata | |
---|---|
GstSEIMetadata Basics | |
|
|
Getting Started | |
|
|
User Guide | |
|
|
Examples | |
|
|
Performance | |
|
|
Contact Us |
GstSEI Latency Measurement Example
GstSEI also includes some examples of how can be used the element, the latency measurement example uses the seimetatester element to insert the time when the buffer flow for the element, insert that time as metadata with the seiinject, and send the buffer with UDP and in receiver gets the buffer by UDP, take the metadata with seiextract and compares the actual time when the buffer flow for the receiver and the time in the metadata.
Pipelines
The example uses the following pipeline template for the sender:
v4l2src device=%s ! videoconvert ! tee name=t ! x264enc speed-preset=ultrafast tune=zerolatency key-int-max=15 \ ! seimetatester ! seiinject ! \ queue name=%s min-threshold-time=0000000000 max-size-buffers=0 max-size-bytes=0 max-size-time=0 \ ! rtph264pay ! udpsink host=%s port=%s t. ! queue ! \ textoverlay name=%s text=\"Added delay: 0 ms\"! queue ! xvimagesink sync=false async=false
And for the receiver use the following pipeline template:
udpsrc address=%s port=%s ! \ application/x-rtp,media=video,clock-rate=90000,encoding-name=H264,packetization-mode=1,profile-level-id=640014 \ ! rtph264depay ! queue ! seiextract name=%s ! avdec_h264 ! textoverlay name=%s ! \ xvimagesink sync=false async=false