Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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
Video 如何使用gstreamer显示avi视频?_Video_Gstreamer - Fatal编程技术网

Video 如何使用gstreamer显示avi视频?

Video 如何使用gstreamer显示avi视频?,video,gstreamer,Video,Gstreamer,我想写一个目标跟踪程序,需要播放跟踪结果。由于gstreamer是一个很好的多媒体框架,我想在我的演示程序中使用它。但我不知道如何实现视频显示的细节。有人能帮忙吗 Avidemux插件可以将音频和视频部分从avi文件中分离出来,但是接下来该怎么做呢 如果我打开一个未压缩的avi文件,如果我直接将avidemux插件的输出板链接到视频接收器,它会工作吗 顺便问一下,哪个视频接收器在效率方面更好? 我查阅了插件参考,发现了很多视频接收器:glimagesink、osxvideosink、sdlvid

我想写一个目标跟踪程序,需要播放跟踪结果。由于gstreamer是一个很好的多媒体框架,我想在我的演示程序中使用它。但我不知道如何实现视频显示的细节。有人能帮忙吗

Avidemux插件可以将音频和视频部分从avi文件中分离出来,但是接下来该怎么做呢

如果我打开一个未压缩的avi文件,如果我直接将avidemux插件的输出板链接到视频接收器,它会工作吗

顺便问一下,哪个视频接收器在效率方面更好? 我查阅了插件参考,发现了很多视频接收器:glimagesink、osxvideosink、sdlvideosink、ximagesink、xvimagesink、dfbvideosink、fbdevsink、gconfvideosink autovideosink是否总是工作正常?我的平台是ubuntu 9.04


TIA ~

我建议使用playbin(,)或decode bin(,)。这大大简化了为不同类型的视频文件创建gstreamer管道的过程。使用每个接口,您可以使用视频接收器。请参阅以了解更多详细信息。

正如尼克·哈迪德所建议的,playbin或decodebin是一个很好的起点。对于试验,我建议使用gst启动,例如:

gst-launch filesrc location=video.avi !
decodebin2 name=dec ! queue ! ffmpegcolorspace ! autovideosink
dec. ! queue ! audioconvert ! audioresample ! autoaudiosink
我使用autoaudiosink和autovideosink,因为它们通常都能工作。当您找到一个可以工作的管道时,尝试用代码构建相同的管道。如果您不需要音频,只需跳过管道中的这一部分即可。对于视频显示,您的最佳选择是xvimagesink(至少在UNIX上)。

问题:其他人可能会问“如何使用Gstreamer显示MPEG2/MPEG4视频”答案是:gst启动文件rc location=/tmp/filmfr2.mpg!decodebin2 name=dec!队列ffmpegcolorspace!自动视频接收器十二月!队列音频转换!音频重采样!自动音频接收器