问题标签 [gstreamer-1.0]
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.
c - 命令行工具缺少 GStreamer 的 autovideosink - Debian 9.4
该问题仅在使用 GStreamer 命令行工具时出现。包含“autovideosink”的 C 程序按预期编译和运行。
gst-inspect-1.0 autovideosink
返回
No such element or plugin 'autovideosink'
和
gst-launch-1.0 videotestsrc ! autovideosink
返回
WARNING: erroneous pipeline: no element "autovideosink"
我正在运行 Debian 9.4。我使用以下命令安装了 gstreamer:
sudo apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools
gstreamer - gstreamer-1.8.3 v4l2src 进行多播
我使用 gstreamer-1.2.4 将流从 v4l2src 发送到多播并将其写入共享内存。管道是:
现在,我将其更新为 gstreamer-1.8.3,但此管道不起作用。然后我尝试查看这个多播流,我什么也没得到。硬件没有改变。我也有警告:
然后我删除
我得到一个绿屏。
查看视频的管道:
为什么在旧版本中可以使用,而在新版本中无法使用?
gstreamer - Gstreamer HLSSink 管道在 Safari 中显示黑框
这个get-launch-1.0
命令行管道:gst-launch-1.0 videotestsrc num-buffers=680 ! x264enc ! mpegtsmux ! hlssink location=junk2.%05d.ts playlist-location=junk2.m3u8
该服务器:python -m SimpleHTTPServer 8000
Mac OS X Safari 上的这个本地 URL:http://localhost:8000/junk2.m3u8
似乎在本地 Safari 浏览器中播放,但显示黑框。为什么?
注意:python 控制台输出看起来很开心,所以所有路径都是正确的:
注意:还尝试了 hlssink 插件的各种选项而不改变行为:
target-duration=2
max-files=0
playlist-length=0
gstreamer - GStreamer RTSP-Server 将自定义 GstMeta 数据传输到客户端
我需要将每个帧的自定义时间戳共享给客户端。我的想法是在 GstMeta 中添加一个自定义的 MetaData-Structure,它与客户端共享时间戳。
为了分享视频,我们使用了 GStreamer 的 rtsp-server。有谁知道是否可以使用该服务器传输任何类型的 GstMeta 数据?
ios - 如何为 iOS 平台的 g-streamer 中的特定元素启用调试?
我正在尝试使用以下管道从 iOS 设备发送 RTMP 流,但它失败而没有给出任何错误。有什么方法可以获取更多日志来解决问题。
avfvideosrc !vtenc_h264 !h264解析!!队列 !rtmpsink location='rtmp://192.168.11.210/live/livestream
我试过setenv("GST_DEBUG", "*:5", 1)但没有帮助。
此外,如果我将avfvideosrc更改为videotestsrc管道工作正常。
*没有权限问题,因为我可以使用avfvideosrc 从相机获取数据!自动视频接收器。
gstreamer-1.0 - gstreamer rtpjpegdepay 收到无效的 RTP 有效负载
我想在发送者和接收者之间传输 RTP 视频。如果我使用以下命令通过 UDP 流式传输视频,它工作正常:
发件人
接收者
但是当我尝试将视频保存到文件时
然后使用这些命令通过 UDP 发送
发件人
接收者
接收器无法解码流并显示此错误
server - H264 //RTSP 使用安卓手机
我想创建一个 VR,所以我创建了一个 RTSP 服务器来链接到我的 Zedmini。如果我使用 h265 编码器它可以工作,但不好的是 RTSP 只有在我使用 Iphone7 VLC 应用程序或计算机窗口 8 VLC 软件时才有效,我的 Android 手机 huawei p7 Onvifer 应用程序根本无法使用这个 RTSP 地址。我需要为我的项目使用华为 p7,因为我要创建应用程序并链接到这个 RTSP 服务器。
根据我的检查,一些 Android 设备不支持 h265 编码器,所以我决定使用 h264,我已经在谷歌上搜索了好几个星期,但因为找不到使用 h264 的解决方案而感到沮丧。
这是我从 test-readme.c 修改的代码------>
此代码适用于流式视频、JX2 摄像头、简单的 USB 摄像头(低端)以及 zedmini 摄像头,但使用的是 h265。我需要使用 h264 运行代码,这里肯定有一些元素遗漏或错误。
c - GStreamer 1.0 在 C 中将原始编码为 H.264
我正在使用 GStreamer-1.0版本:1.10.4
我有一个原始视频文件,我想在 C 中使用 GStreamer 使用 h.264 对其进行编码。
我的管道如下所示:
gst-launch-1.0 filesrc location=myVideo.yuv blocksize=2073600 !视频解析宽度=1920 高度=1080 !解码器!视频转换!x264enc !队列 !mp4mux 名称=mux !文件接收器位置=myFile.mp4
当我在终端中执行它时,这个管道工作正常。但我想用 C-API 来做,所以我的源代码如下所示:
正如我所说,终端中的管道工作正常,但 C 实现只创建一个空的 mp4 文件。我不明白为什么。
如果它可能会有所帮助:原始视频文件的录制也已使用 GStreamer 完成。用于此的管道是:
gst-launch-1.0 -e v4l2src device=/dev/video0 num-buffers=300 !队列 !图像/JPEG,宽度=1920,高度=1080,帧率=30/1!JPEG格式!视频/x-raw,格式=I420,宽度=1920,高度=1080,帧率=30/1!文件接收器位置=myVideo.yuv
我想知道是否有人能看到我犯的错误,或者是否有人遇到过类似的问题。
audio - Demuxing HLS 流和再次复用的管道
我正在尝试从包含 DISCONTINUITY 标记的 HLS 流中生成 MP4。我正在尝试再次对音频和视频流进行解复用和重新混合,以便它们对齐。我尝试生成以下管道,但它似乎不起作用。
非常感谢你的帮助。
ffmpeg - AVFrame:如何获取/替换平面数据缓冲区和大小?
我正在研究 gstreamer1.0-libav (1.6.3),试图从 gstreamer 0.10 移植基于 FPGA 的自定义 H264 视频加速。
数据平面 (YUV) 过去在 gstreamer 0.10 中由简单的 malloc 分配,因此我们只需将 AVFrame.data[i] 指针替换为指向视频加速核心中的内存的指针。在 gstreamer 1.12 中似乎要复杂得多。
对于初学者,我尝试将 YUV 平面从 AVFrame.data[i] 复制到单独的缓冲区 - 效果很好!由于我还没有看到获得 AVFrame.data[i] 大小的直接方法,并且我认识到 data[0]、data[1]、data[2] 似乎在一个连续的缓冲区中,所以我只是使用了(data[1] - data [0]) 用于 Y 平面的大小, (data[2] - data[1]) 分别用于 U/V 平面的大小。这工作正常,期待一种情况:
- 输入 H264 流,分辨率为 800x600 或更高
- 相机被覆盖(夹克,手,......)
这会导致使用如上所述确定的大小在 V 平面 (data[2]) 的 memcpy 中出现 SEGFAULT。在覆盖相机之前,流显示完全正常......所以由于某种原因,暗屏改变了平面尺寸?
我的最终目标是用我的自定义内存分配替换 gstreamer 分配的 data[i] 指针(用于进一步处理)......这些缓冲区究竟分配在哪里,我可以更改它们以及如何获得每个平面的大小(数据[0]、数据[1]、数据[2])?