问题标签 [gst-launch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gstreamer - gstreamer 管道无法将标签放入 m4a 文件中
这是我的管道:
但是在 2 个最新的 manjaro 安装和 1 个过时的 xubuntu 安装上,它给了我这个“输入缓冲区消失”错误,所以我猜那个管道有问题。使用 avenc_aac 而不是 faac 会产生相同的错误。
输出文件中没有任何标签
然而,
工作正常,我得到一个带有标签的 .flac 文件。
如何修复第一个管道以便在 output.m4a 中有标签?
GStreamer 1.16.2
gstreamer - 您如何找出 gstreamer 配置文件字符串
尝试使用 encodebin 及其配置文件。此处的文档: https ://gstreamer.freedesktop.org/documentation/pbutils/encoding-profile.html?gi-language=c#defining-a-gstencodingprofile-as-a-string和那里:https://gstreamer。 freedesktop.org/data/doc/gstreamer/1.9/gst-plugins-base-libs/html/gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile列出示例,但它们并没有真正解释我实际上是如何构造那些字符串。
它命名了通用muxer_source_caps:video_encoder_source_caps:audio_encoder_source_caps
格式,但我从哪里获得 muxer_source_caps。application/ogg:audio/x-vorbis
从示例中完全可以正常工作。
例如,我将如何着手找出在 mp4 容器中编码为 aac 所需的配置文件。
疯狂猜测使用来自https://github.com/GStreamer/gstreamer/blob/cc55b304ef4ab1cd95f6348d33f268ccebaab8e8/docs/random/mimetypes的 mime 类型也行不通。
仅在没有 muxer_source_cap 的情况下使用时,所有尝试都失败WARNING: erroneous pipeline: could not set property "profile" in element "enc"
或出现一些更长的错误audio/x-m4a
谢谢
gstreamer - 如何使用 gstreamer 播放原始数据?
我想玩,就像我可以做的/dev/urandom
那样:gst-launch-1.0
aplay
这个怎么做?
gstreamer - GStreamer 和 RTSP 流
我正在尝试通过 gstreamer 查看 rtsp 流,但是当我运行此命令时:
它在这里阻塞并且不显示任何内容。
我是 gstreamer 的新手。有人可以帮我吗?谢谢指教。
video-streaming - gstreamer textoverlay 与 fdsrc / gst-launch 管道
我尝试将动态文本(由 fdsrc 填充的 textoverlay)添加到实时 a/v 流中,是使用 gst-launch。
从这里(https://gstreamer-devel.narkive.com/jGPQWTY3/dynamic-text-overlay-on-live-stream-using-gst-launch-1-0)我知道这是可能的(结合Linux tail 命令)。但是,我对 gstreamer (v1.18.0) 管道有一些问题。
我有一个像下面这样的管道。这如何与 Linux tail 命令和 textoverlay 结合使用?我尝试了一些东西,但链接总是有问题(没有名为“(null)”的接收器元素 - 省略链接/或其他“语法”错误)
非常感谢你的帮助
udp - rtspsrc 到 udpsink 并将其消耗回来
我需要帮助将 rtsp 流转换为 udpsink(以便将流推送到远程服务器),但我面临的问题很少。到目前为止,我正在尝试以下命令来发布和使用流:创建:
gst-launch-1.0 rtspsrc location=rtsp://192.168.10.20:554 ! rtph264depay ! rndbuffersize min=1500 max=1500 ! udpsink host=127.0.0.1 port=8123
消耗:
gst-launch-1.0 udpsrc port=8123 ! application/x-rtp, encoding-name=H264, payload=96 ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink
但是在消费者端出现以下错误:
我已经尝试了几个命令,但我还没有找到任何解决方案,你能提供一些指导吗?谢谢你。
amazon-web-services - 使用 Gstreamer 和 Kvssink 将多个 RTSP 流 h265 格式录制到 Kinesis Video Streams
我需要将 4 个 RTSP 流录制到 Kinesis Video Streams 的单个流中。流必须像这样放置在视频中:
使用以下命令,我能够插入单个流并使其完美运行:
但是,我的目标是将一组流插入到 Kinesis Video Streams 中的同一流中。为此,我找到了以下示例videomixer
:
我将示例调整为仅两个流,并使用如下命令使其在容器内工作:
以另一种方式:
有问题的容器来自:https ://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp
但是,当我登录 Kinesis Video Streams 并尝试下载 getClip 时,在这两种情况下我都会收到以下错误:
MissingCodecPrivateDataException
曲目 1 的片段中缺少编解码器私有数据。
状态代码:400
GST_DEBUG=1 的日志可以在 https://gist.github.com/vbbandeira/b15ec8af6986237a4cd7e382e4ede261找到
GST_DEBUG=4 的日志可以在 https://gist.github.com/vbbandeira/6bd4b7a014a69da5f46cd036eaf32aec找到
你们能告诉我那里发生了什么吗?
或者如果可能,请帮助我找到解决此错误的方法。
谢谢!
amazon-web-services - 带缓冲区的 RTSP 流管道 gstreamer
是否可以从 RTSP 流中缓冲广播开始时间之前由摄像机录制的内容?
我将 2 个 RTSP 流录制到单个 Kinesis Video Streams 流中,我使用的管道类似于:
但是,当我启动 Docker 容器时,平均需要 12 秒来初始化和建立与 AWS 服务器的传输。在此传输开始时间内记录的所有视频内容都将丢失,并且不会发生这种情况。
我找到了一个创建一种缓冲区的解决方案,但它只缓冲传输开始后正在运行的内容,我使用的管道类似于:
这不适用于我的情况,因为我在开始之前需要缓冲区。在这种情况下,谁能告诉我如何在传输开始之前缓冲录制的内容,这样我就不会因为延迟而丢失录制的内容?
gstreamer - h264parse 损坏/无效 nal
我正在尝试使用 模拟发送和接收 mpeg 视频gst-launch-1.0
。
发件人管道:
gst-launch-1.0 videotestsrc ! video/x-raw,width=1920,height=1080,framerate=15/1 ! queue ! x264enc bitrate=4000 ! queue ! mpegtsmux ! rtpmp2tpay ! udpsink host=224.10.10.10 port=15004
接收器管道:
gst-launch-1.0 -v rtpbin name=rtpbin udpsrc caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)MP2T,payload=(int)33,seqnum-offset=(uint)2803,timestamp-offset=(uint)2170591411, ssrc=(uint)2276926567" port=15004 multicast-group=224.10.10.10 ! rtpbin.recv_rtp_sink_0 rtpbin. ! rtpmp2tdepay ! tsdemux ! h264parse ! capsfilter caps=video/x-h264,alignment=au,stream-format=avc ! avdec_h264 ! fpsdisplaysink sync=1 udpsrc port=18889 ! rtpbin.recv_rtcp_sink_0
扣除:
gst-launch-1.0 -v rtpbin name=rtpbin udpsrc caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)MP2T,payload=(int)33,seqnum-offset=(uint)2803,timestamp-offset=(uint)2170591411, ssrc=(uint)2276926567" port=15004 multicast-group=224.10.10.10 ! rtpbin.recv_rtp_sink_0 rtpbin. ! rtpmp2tdepay ! tsdemux ! decodebin ! fpsdisplaysink sync=1 udpsrc port=18889 ! rtpbin.recv_rtcp_sink_0
首先运行接收器,然后发送器立即按预期显示视频窗口。
但是当发送方首先启动时,接收方管道会挂起大约 10 秒,显示大量这些消息:
gst-launch-1.0 --gst-version
返回:
raspberry-pi - GStreamer:没有元素
我正在尝试从 Raspberry Pi 4 运行 UDP 流,并使用它安装了 gstreamer,在 gstreamer 的文档中找到:
此外,我已经安装了 x264 和 v4l-utils。但是,当尝试执行诸如
它失败并出现错误
以前帖子上的一些答案是运行,无论输入什么gst-inspect-1.0 videotestsrc
,它总是给我。symbol lookup error: gst-inspect-1.0: undefined symbol: GST_CAT_DEFAULT
我也尝试过运行export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib
and sudo ldconfig
,但没有成功。
到目前为止,完全重新安装 Gstreamer 还没有成功。有任何想法吗?