mpegtsmux pmt-interval/pat-interval

Greg Stahl gregstahl at churchillnavigation.com
Fri Oct 13 15:13:46 UTC 2017


It looks like the option-string property is parsed using the
"gst_x265_enc_parse_options" function on line 578 in "gstx265enc.c" (
https://github.com/GStreamer/gst-plugins-bad/blob/master/ext/x265/gstx265enc.c)
Then the "x265_param_parse" function is called, but I can't find any
definition of this anywhere in the entire gst-plugins-bad repository.


Greg S

On Fri, Oct 13, 2017 at 8:55 AM, Greg Stahl <
gregstahl at churchillnavigation.com> wrote:

> That option doesn't seem to exist according to gst-inspect (output copied
> below) but there is an "option-string" property though there doesn't seem
> to really be any documentation on it.
>
>
> Factory Details:
>   Rank                     primary (256)
>   Long-name                x265enc
>   Klass                    Codec/Encoder/Video
>   Description              H265 Encoder
>   Author                   Thijs Vermeir <thijs.vermeir at barco.com>
>
> Plugin Details:
>   Name                     x265
>   Description              x265-based H265 plugins
>   Filename                 /usr/lib/x86_64-linux-gnu/
> gstreamer-1.0/libgstx265.so
>   Version                  1.8.3
>   License                  GPL
>   Source module            gst-plugins-bad
>   Source release date      2016-08-19
>   Binary package           GStreamer Bad Plugins (Ubuntu)
>   Origin URL               https://launchpad.net/
> distros/ubuntu/+source/gst-plugins-bad1.0
>
> GObject
>  +----GInitiallyUnowned
>        +----GstObject
>              +----GstElement
>                    +----GstVideoEncoder
>                          +----GstX265Enc
>
> Implemented Interfaces:
>   GstPreset
>
> Pad Templates:
>   SINK template: 'sink'
>     Availability: Always
>     Capabilities:
>       video/x-raw
>                  format: { I420, Y444, I420_10LE, Y444_10LE }
>               framerate: [ 0/1, 2147483647 <(214)%20748-3647>/1 ]
>                   width: [ 4, 2147483647 <(214)%20748-3647> ]
>                  height: [ 4, 2147483647 <(214)%20748-3647> ]
>
>   SRC template: 'src'
>     Availability: Always
>     Capabilities:
>       video/x-h265
>               framerate: [ 0/1, 2147483647 <(214)%20748-3647>/1 ]
>                   width: [ 4, 2147483647 <(214)%20748-3647> ]
>                  height: [ 4, 2147483647 <(214)%20748-3647> ]
>           stream-format: byte-stream
>               alignment: au
>                 profile: { main }
>
>
> Element Flags:
>   no flags set
>
> Element Implementation:
>   Has change_state() function: gst_video_encoder_change_state
>
> Element has no clocking capabilities.
> Element has no URI handling capabilities.
>
> Pads:
>   SINK: 'sink'
>     Pad Template: 'sink'
>   SRC: 'src'
>     Pad Template: 'src'
>
> Element Properties:
>   name                : The name of the object
>                         flags: readable, writable
>                         String. Default: "x265enc0"
>   parent              : The parent of the object
>                         flags: readable, writable
>                         Object of type "GstObject"
>   bitrate             : Bitrate in kbit/sec
>                         flags: readable, writable, changeable in NULL,
> READY, PAUSED or PLAYING state
>                         Unsigned Integer. Range: 1 - 102400 Default: 2048
>   qp                  : QP for P slices in (implied) CQP mode (-1 =
> disabled)
>                         flags: readable, writable
>                         Integer. Range: -1 - 51 Default: -1
>   option-string       : String of x264 options (overridden by element
> properties)
>                         flags: readable, writable
>                         String. Default: ""
>   log-level           : x265 log level
>                         flags: readable, writable
>                         Enum "GstX265LogLevel" Default: -1, "none"
>                            (-1): none             - No logging
>                            (0): error            - Error
>                            (1): warning          - Warning
>                            (2): info             - Info
>                            (3): debug            - Debug
>                            (4): full             - Full
>   speed-preset        : Preset name for speed/quality tradeoff options
>                         flags: readable, writable
>                         Enum "GstX265SpeedPreset" Default: 6, "medium"
>                            (0): No preset        - No preset
>                            (1): ultrafast        - ultrafast
>                            (2): superfast        - superfast
>                            (3): veryfast         - veryfast
>                            (4): faster           - faster
>                            (5): fast             - fast
>                            (6): medium           - medium
>                            (7): slow             - slow
>                            (8): slower           - slower
>                            (9): veryslow         - veryslow
>                            (10): placebo          - placebo
>   tune                : Preset name for tuning options
>                         flags: readable, writable
>                         Enum "GstX265Tune" Default: 2, "ssim"
>                            (0): No tunning       - No tunning
>                            (1): psnr             - psnr
>                            (2): ssim             - ssim
>                            (3): grain            - grain
>                            (4): zerolatency      - zerolatency
>                            (5): fastdecode       - fastdecode
>
>
> Greg S
>
> On Thu, Oct 12, 2017 at 6:08 PM, Nicolas Dufresne <nicolas at ndufresne.ca>
> wrote:
>
>> Le jeudi 12 octobre 2017 à 15:14 -0600, Greg Stahl a écrit :
>> > I am attempting to build a gstreamer pipe that captures video,
>> > encodes it, puts it into a transport stream and then broadcasts over
>> > the network.  Using the below command I am able to start VLC
>> > listening on the port for the RTP stream, execute the pipeline and
>> > everything works perfectly.  However if I execute the pipeline and
>> > then start VLC listening the stream never comes through, monitoring
>> > the network traffic I see that either way there is data being sent
>> > from the machine that is executing the pipeline.
>> >
>> >
>> > gst-launch-1.0 ! x265enc ! mpegtsmux pat-interval=3000 pmt-
>> > interval=3000 ! rtpmp2tpay ! udpsink host=192.168.11.255 port=26000
>> > auto-multicast=TRUE sync=true
>>
>> Isn't the issue because you have only 1 keyframe ? Have you try setting
>> key-int-max=(numb of frames) on x265enc ?
>>
>> regards,
>> Nicolas
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20171013/c3747a8f/attachment.html>


More information about the gstreamer-devel mailing list