首页 > 解决方案 > 使用 gstreamer 工具,解码后我必须设计成两个分支,一个用于编码、转储,另一个用于显示

问题描述

这就是我创建管道的方式,这在没有编码器的情况下完全可以正常工作

gst-launch-1.0 汤httpsrc location=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm !matroskademux 名称=d !队列 !vp8dec !视频缩放!视频/x-raw,宽度=320,高度=320!视频转换!自动视频接收器 d. !队列 !沃尔比斯德!音频转换!音频重采样!自动音频接收器

但是当我在解码器之后添加编码器(vp8enc 和 vorbisenc)时,我得到这样的错误

gst-launch-1.0 汤httpsrc location=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm !matroskademux 名称=d !队列 !vp8dec !视频缩放!视频/x-raw,宽度=320,高度=320!vp8enc d. !队列 !沃尔比斯德!音频重采样!伏比生!matroskamux !文件接收器位置=test.webm

错误是

将管道设置为 PAUSED ... Pipeline is PREROLLING ... 从元素“souphttpsrc0”获取上下文:gst.soup.session=context, session=(SoupSession)NULL, force=(boolean)false; 重新分配延迟...重新分配延迟...管道已预置...将管道设置为正在播放...新时钟:GstSystemClock 错误:来自元素/GstPipeline:pipeline0/GstQueue:queue0:内部数据流错误。附加调试信息:gstqueue.c(988): gst_queue_handle_sink_event (): /GstPipeline:pipeline0/GstQueue:queue0: 流停止,原因未链接 (-1) 执行在 0:00:18.409808116 后结束 将管道设置为 PAUSED ...将管道设置为 READY ... 将管道设置为 NULL ... 释放管道 ...

这是我现在遇到的错误

我想知道如何设计成两个分支,一个用于编码、转储,另一个用于显示。 比如在哪里添加编码器插件以及可以使用哪些插件

标签: clinuxgstreamermultimedia

解决方案


推荐阅读