Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gstreamer gst发布等效于gst播放_Gstreamer - Fatal编程技术网

Gstreamer gst发布等效于gst播放

Gstreamer gst发布等效于gst播放,gstreamer,Gstreamer,是否可以为任何gst play命令获取gst launch字符串等效项 例如,使用gst play播放rtsp流可以是: 该命令使连接到服务器并打开内部(gstreamer)窗口进行播放 等效的命令可能是(我不确定): 但在一般情况下如何得到它呢 我的主要目的是将视频流重定向到avi文件,而我只知道goodgst play命令。因此,我需要在result命令中将autovideosink替换为filesink。使用playbin: gst-launch-1.0.exe playbin uri=r

是否可以为任何
gst play
命令获取
gst launch
字符串等效项

例如,使用
gst play
播放rtsp流可以是:

该命令使连接到服务器并打开内部(gstreamer)窗口进行播放

等效的命令可能是(我不确定):

但在一般情况下如何得到它呢

我的主要目的是将视频流重定向到avi文件,而我只知道good
gst play
命令。因此,我需要在result命令中将
autovideosink
替换为
filesink

使用playbin:

gst-launch-1.0.exe playbin uri=rtsp://path/to/source

使用playbin:


gst-launch-1.0.exe playbin uri=rtsp://path/to/source

更新后-我想说您有一些选择:

1,使用gst play with option--videosink,但您还需要avi mux元素,并且它必须用h264编码。。所以,这种方法需要对gst play的源代码进行一些黑客攻击,这显然是您不想要的

1a,您也可以使用@Thiagos建议的playbin和参数video sink。。然后,您可以使用命名bin并将其传递给它(不确定这种方式是否可行,但您可以尝试这种方式):

2、获取管道图片,分析它并手动创建相同的内容,在类似Unix的系统中执行以下操作:

export GST_DEBUG_DUMP_DOT_DIR=`pwd`
gst-play-1.0 rtsp://... 
#or use gst-launch and playbin.. its the same thing basically
检查生成的*.dot文件。。选择最新的一个(处于播放状态)并使用graphviz库将其转换为图片:

dot -T png *PLAYING.dot -o playbin.png
3,只使用uridecodebin的东西,然后像我在1a中写的那样继续

uridecodebin ! video/x-raw ! x264enc ! ....

HTH

更新后-我想说您有一些选择:

1,使用gst play with option--videosink,但您还需要avi mux元素,并且它必须用h264编码。。所以,这种方法需要对gst play的源代码进行一些黑客攻击,这显然是您不想要的

1a,您也可以使用@Thiagos建议的playbin和参数video sink。。然后,您可以使用命名bin并将其传递给它(不确定这种方式是否可行,但您可以尝试这种方式):

2、获取管道图片,分析它并手动创建相同的内容,在类似Unix的系统中执行以下操作:

export GST_DEBUG_DUMP_DOT_DIR=`pwd`
gst-play-1.0 rtsp://... 
#or use gst-launch and playbin.. its the same thing basically
检查生成的*.dot文件。。选择最新的一个(处于播放状态)并使用graphviz库将其转换为图片:

dot -T png *PLAYING.dot -o playbin.png
3,只使用uridecodebin的东西,然后像我在1a中写的那样继续

uridecodebin ! video/x-raw ! x264enc ! ....

谢谢。但是我忘了一些重要的事情。问题更新,谢谢。但是我忘了一些重要的事情。问题1.1a。给我
警告:管道错误:无法将元素“playbin0”中的属性“video sink”设置为“bin_avi”
。在我的例子中,我有用于视频的
MP4V-SE
编解码器和用于音频的
PCMU
,正如我所看到的,没有
x263enc
(用于MPEG4第2部分)<代码>*.dot文件不是为
gst play
创建的,只是为
gst启动创建的。图片上的图形变得非常复杂,我无法理解。@Alexolute好的,你能把它粘贴到什么地方吗?1a。给我
警告:管道错误:无法将元素“playbin0”中的属性“video sink”设置为“bin_avi”
。在我的例子中,我有用于视频的
MP4V-SE
编解码器和用于音频的
PCMU
,正如我所看到的,没有
x263enc
(用于MPEG4第2部分)<代码>*.dot
文件不是为
gst play
创建的,只是为
gst启动创建的。图片上的图表变得非常复杂,我无法理解。@Alexolute你能把它粘贴到某个地方吗?顺便说一句,你的更新彻底改变了这个问题。。这与gst播放与gst发布无关。。你应该在另一个问题中询问水槽的更换问题。。永远不要改变问题的方式,因为它与以前的版本没有任何共同之处-始终打开新的question@otopolsky当我意识到(持续时间~1小时)我想在答案中看到什么时,我的问题已被更新。你的答案是在我最后一次编辑后发布的。是的,不管怎样,它是适用的。。第一个问题也是一个好问题:)看来你的问题的第一个版本已经得到了答案,所以打开另一个问题是有意义的。。在这种情况下这并不重要,但在未来它可能会帮助你和其他人。另一件事是你的头衔与你想要的不一致ask@otopolsky世界不是完美的。。。我的问题也是:)@otopolsky我有另一个开放的悬赏,所以如果你觉得有趣,你可以试着回答。顺便说一句,你的更新完全改变了问题。。这与gst播放与gst发布无关。。你应该在另一个问题中询问水槽的更换问题。。永远不要改变问题的方式,因为它与以前的版本没有任何共同之处-始终打开新的question@otopolsky当我意识到(持续时间~1小时)我想在答案中看到什么时,我的问题已被更新。你的答案是在我最后一次编辑后发布的。是的,不管怎样,它是适用的。。第一个问题也是一个好问题:)看来你的问题的第一个版本已经得到了答案,所以打开另一个问题是有意义的。。在这种情况下这并不重要,但在未来它可能会帮助你和其他人。另一件事是你的头衔与你想要的不一致ask@otopolsky世界不是完美的。。。我的问题也是:)@otopolsky我还有另一个悬赏公开的问题,所以如果你觉得有趣的话,你可以试着回答。