[英]WARNING: erroneous pipeline: could not link customsrc0 to mpegtsmux0
I cannot create a pipeline with gstreamer and I don't know how I can debug it further. 我无法使用gstreamer创建管道,也不知道如何进一步调试它。
gst-launch-1.0 --gst-debug=GST_CAPS:4 -v -e customsrc num-buffers=1000 ! video/x-h264,width=600,height=600,framerate=1/12,stream-format=byte-stream ! mpegtsmux ! udpsink host=10.92.7.2 port=5000
WARNING: erroneous pipeline: could not link customsrc0 to mpegtsmux0
The capabilities of customsrc and mpegtsmux are matching. Customrc和mpegtsmux的功能是匹配的。 But obviously something is missing.
但是显然有些东西丢失了。
customsrc customsrc
Pad Templates:
SRC template: 'src'
Availability: Always
Capabilities:
video/x-h264
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 1/2147483647, 2147483647/1 ]
stream-format: avc
alignment: au
mpegtsmux mpegtsmux
Pad Templates:
SINK template: 'sink_%d'
Availability: On request
Has request_new_pad() function: 0x76beca8c
Capabilities:
video/x-h264
stream-format: byte-stream
alignment: { au, nal }
What else can I do to figure out the mismatch? 我还能采取什么措施找出不匹配的地方?
Caps are for filtering and defining how the pipeline runs--they don't cause any transformation by themselves. 上限用于过滤和定义管道的运行方式-它们本身不会引起任何转换。 For example, if you have two elements with these caps on their source and sink pads:
例如,如果您有两个元素的源极和漏极焊盘上带有这些上限:
video/x-h264
stream-format: byte-stream
alignment: { au, nal }
video/x-h264
stream-format: byte-stream
alignment: { au, nal }
And you place this caps filter between them: 然后将这些上限过滤器放置在它们之间:
video/x-h264,alignment=nal
You'll cause the pipeline to use nal alignment there. 您将使管道在此处使用最终对齐。 If your elements have these caps on their pads:
如果您的元素在其压垫上有以下限制:
video/x-h264
stream-format: avc
alignment: { au, nal }
video/x-h264
stream-format: byte-stream
alignment: { au, nal }
You need to add an element that will convert video/x-h264,stream-format=avc into video/x-h264,stream-format=byte-stream. 您需要添加将video / x-h264,stream-format = avc转换为video / x-h264,stream-format = byte-stream的元素。 h264parse will do this because it takes any video/x-h264 content on its sink pad, and outputs whatever stream-format and alignments are needed for its downstream source:
h264parse之所以会这样做,是因为它在其接收盘上获取了任何video / x-h264内容,并输出其下游源所需的任何流格式和对齐方式:
SRC template: 'src'
Availability: Always
Capabilities:
video/x-h264
parsed: true
stream-format: { avc, avc3, byte-stream }
alignment: { au, nal }
SINK template: 'sink'
Availability: Always
Capabilities:
video/x-h264
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.