标签: gstreamer

通过 RTSP 发送 jpeg 图像(运动 jpeg) - gStreamer

您好,我正在尝试使用 gstreamer 构建视频流管道,但我很难使其工作。我有一个支持 MJPG 的相机,所以我想将 jpeg 图像传递给jpegparse并使用rtpjpegpay转换为 rtp 。

./test-launch --gst-debug=3 '(v4l2src device=/dev/video0 ! image/jpeg,width=800,height=600 ! jpegparse ! rtpjpegpay name=pay0 pt=96)'
Run Code Online (Sandbox Code Playgroud)

对于接收端,我尝试了 VLC 播放器,但没有成功打开文件。我不知道为什么 - 这是否意味着上面的语法不正确?

有人可以帮忙吗?

我试过

examples$ ./test-launch --gst-debug=3 '(v4l2src device=/dev/video0 ! image/jpeg,width=800,height=600 ! jpegparse ! rtpjpegpay name=pay0 pt=96)'
stream ready at rtsp://127.0.0.1:8554/test

0:00:05.121994463 207540 0x56458325ef60 ERROR           GST_PIPELINE grammar.y:453:gst_parse_element_set: could not set property "pt" in element "pay0" to "96)"
0:00:05.122054890 207540 0x56458325ef60 WARN                 default grammar.y:1137:priv_gst_parse_yyerror: Error during parsing: syntax error, unexpected $end
0:00:05.122069622 207540 0x56458325ef60 …
Run Code Online (Sandbox Code Playgroud)

rtsp gstreamer v4l2

2
推荐指数
1
解决办法
5574
查看次数

如何获取接收帧的相机时间戳?

我有 gstreamer 管道,它接受来自 RTSP 流的输入,将其转换并将其汇入appsink

data.source = gst_element_factory_make("uridecodebin", "source");
data.convert = gst_element_factory_make("videoconvert", "conv");
data.app_sink = gst_element_factory_make("appsink", "app_sink");
Run Code Online (Sandbox Code Playgroud)

我学会了如何将媒体缓冲区提取到我的应用程序中,但我想知道的是它的时间戳。媒体在左下角附带了我认为相机硬件预渲染的时钟,有没有办法让我得到那个时间?我查看了RTP 标头 ,其中应该包含时间戳信息。我查看了 Gstreamer 信息和教程以及具有时间戳的缓冲区描述,但我认为这不是我需要的,它听起来像本地机器时间。ptsdts

总结一下问题,如何从 RTSP 流中提取相机时间戳?

gstreamer live-streaming

2
推荐指数
1
解决办法
1728
查看次数

无法使用gstreamer apis播放.wav文件

编写以下代码来播放.wav文件,但它似乎不起作用.我想知道我是否遗漏了一些东西.

码:

#include <gst/gst.h>
#include <glib.h>

int main(int argc , char *argv[])
{
GMainLoop *loop;
GstElement *source,*audioparser,*sink,*pipeline;
GstBus *bus;

gst_init(&argc,&argv);

// create a pipeline
loop = g_main_loop_new (NULL, FALSE);
pipeline = gst_pipeline_new ("wav-player");
source = gst_element_factory_make("filesrc","file-source");
audioparser = gst_element_factory_make("wavparse","wav-parser");
sink = gst_element_factory_make("alsasink","sink1");
g_object_set (G_OBJECT (source), "location", argv[1], NULL);
gst_element_set_state (pipeline, GST_STATE_NULL);
// set location to current sourceg_object_set(G_OBJECT(source),"location",argv[1],NULL);

// add elements to bin
gst_bin_add_many(GST_BIN(pipeline),source,audioparser,sink,NULL);

gst_element_link_many(source,audioparser,sink,NULL);

// create bus
bus = gst_pipeline_get_bus(GST_PIPELINE(pipeline));
gst_bus_add_watch (bus, bus_call, loop);
gst_object_unref (bus);
gst_element_set_state(pipeline, GST_STATE_PLAYING);
g_main_loop_run (loop); …
Run Code Online (Sandbox Code Playgroud)

gstreamer

1
推荐指数
1
解决办法
2843
查看次数

如何在GStreamer中一起播放音频和视频?

除了playbin/playbin2之外,如何在GStreamer应用程序中一起播放音频和视频?

解复用器如何在音频接收器和视频接收器中的视频中播放音频?

请回复.如果可能,请举一个代码示例.提前致谢.

audio video gstreamer

1
推荐指数
1
解决办法
4603
查看次数

运行configure脚本时缺少Orc-0.4.6

我试图安装gstreamer的所有插件,当我安装gst-plugins-ugly时,它显示了一个无法构建的插件列表,并说没有找到Orc.信息:

configure: *** Plug-ins with dependencies that will NOT be built:
a52dec
amrnb
amrwbdec
cdio
dvdreadsrc
lame
mad
mpeg2dec
sid
twolame
x264

configure: *** Orc acceleration disabled.  Requires Orc >= 0.4.6, which was
           not found.  Slower code paths will be used.
Run Code Online (Sandbox Code Playgroud)

我试图找到Orc,但找不到任何东西.Liborc我发现并安装了,但那是版本0.4.0.有谁知道我在哪里可以找到兽人?我正在运行ubuntu 10.04.

ubuntu package gstreamer

1
推荐指数
1
解决办法
3062
查看次数

无法在Python中导入GST

我陷入了困境.我正在遵循以下教程(特别是6.4.2)

http://majorsilence.com/pygtk_audio_and_video_playback_gstreamer

我正在运行Python 2.7,PyGTK 2.24和GStreamer WinBuilds 10.7(主安装程序和SDK).

当我尝试编译程序时,我收到以下错误:

回溯(最近一次调用最后一次):文件"",第1行,在导入gst文件"C:\ Program Files\OSSBuild\GStreamer\v0.10.6\lib\site-packages\gst-0.10\gst__init __.py",line 193,来自_gst import*ImportError:DLL加载失败:找不到指定的模块.

如何导入gst模块?(记住你,我查了一下,pygst导入了.)

先感谢您!

python pygtk gstreamer

1
推荐指数
1
解决办法
1万
查看次数

gstreamer:audiosink输出表示音量级别的整数流

我需要一个gstreamer音频接收器,它输出表示音频流音量级别的整数.采样率不必与输入音频流相同,它可以低得多,例如:每秒一个值就足够了.

这样的水槽存在吗?

似乎可以修改这个来做到这一点:

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-volume.html

但如果已经存在某些东西,我宁愿避免写一个!

gstreamer

1
推荐指数
1
解决办法
901
查看次数

GStreamer iOS,无法构建管道:没有元素"playbin2"

我目前正在尝试将GStreamer集成到iOS项目中.

我已经下载了gstreamer-1.0-devel-1.2.1-ios-universal.pkg并将GStreamer.framework添加到项目中.我在http://docs.gstreamer.com/display/GstSDK/iOS+tutorial+4%3A+A+basic+media+player上关注iOS 教程,上一篇教程工作正常但是在创建基本媒体时播放器,我一直有启动管道的问题,下面是我使用的代码

-(void) app_function{
GstBus *bus;
GSource *timeout_source;
GSource *bus_source;
GError *error = NULL;

GST_DEBUG ("Creating pipeline");

/* Create our own GLib Main Context and make it the default one */
context = g_main_context_new ();
g_main_context_push_thread_default(context);

/* Build pipeline */
pipeline = gst_parse_launch("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", &error);
if (error) {
    gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message);
    g_clear_error (&error);
    [self setUIMessage:message];
    g_free (message);
    return;
}
....
}
Run Code Online (Sandbox Code Playgroud)

我得到错误:无法构建管道:没有元素"playbin2"

我同样下载GStreamer for mac,使用相同的方法(gst_parse_launch()),我可以启动一个内部视频播放器来播放视频.

我想也许插件(playbin2)没有很好地安装或配置,我到处寻找希望找到解决方案,但我没有找到...任何帮助将不胜感激.

提前致谢

gstreamer ios playbin2

1
推荐指数
1
解决办法
1385
查看次数

gstreamer 1.0错误控制和发送eos

关于gstreamer 1.0文档和移植指南的Okey我没有发现任何关于events.I试图在我的管道中设置一个eos信号,以便mp4mux可以像这样最终化流:

self.pipe.send_event(Gst.event_new_eos())
Run Code Online (Sandbox Code Playgroud)

但得到了错误:

AttributeError: 'gi.repository.Gst' object has no attribute 'event_new_eos'
Run Code Online (Sandbox Code Playgroud)

而且我认为我拼写错误或者出了什么问题我用Google搜索并在1.00中找到了一些示例而1.0中没有任何例子但问题是我没有找到任何关于send_eventGst.event_new_eos()移植指南的内容.如果有人能告诉我我是什么,我将不胜感激在这里失踪?

关于gstreamer和tee元素我很好奇处理不同的分支,例如,如果我有这个管道:

  gst-launch-1.0 -e videotestsrc ! tee name=spliter  spliter. ! queue ! udpsink  spliter. ! queue ! x264enc ! mp4mux ! filesink location=something.mp4
Run Code Online (Sandbox Code Playgroud)

如果出现类似的情况,我怎么能处理连接丢失或硬盘不够而没有管道故障的问题?

python gstreamer

1
推荐指数
1
解决办法
1670
查看次数

如何使用GStreamer 1.0将原始BGRA图像转换为JPG?

我想显示原始图像(1.8MB)gst-launch-1.0。我了解必须先将数据编码为JPG,然后才能实现。如果图像已经以jpg文件存储,那么故事将非常简单:

gst-launch-1.0.exe -v filesrc location=output.jpg ! decodebin ! imagefreeze ! autovideosink
Run Code Online (Sandbox Code Playgroud)

但是,我需要组装管道以显示由3D应用程序转储到磁盘上的原始BGRA 800x600图像(与上面相同)。

到目前为止,这是我所做的,但是问题是它在磁盘上创建了一个完全黑的图像:

gst-launch-1.0.exe -v filesrc location=dumped.bin ! video/x-raw,format=BGRA,width=800,height=600,framerate=1/1 ! videoconvert ! video/x-raw,format=RGB,framerate=1/1 ! jpegenc ! filesink location=out.jpg
Run Code Online (Sandbox Code Playgroud)

GStreamer可以处理此任务吗?

image converter gstreamer gst-launch

1
推荐指数
1
解决办法
3502
查看次数