Video 如何使用gstreamer显示avi视频?
我想写一个目标跟踪程序,需要播放跟踪结果。由于gstreamer是一个很好的多媒体框架,我想在我的演示程序中使用它。但我不知道如何实现视频显示的细节。有人能帮忙吗 Avidemux插件可以将音频和视频部分从avi文件中分离出来,但是接下来该怎么做呢 如果我打开一个未压缩的avi文件,如果我直接将avidemux插件的输出板链接到视频接收器,它会工作吗 顺便问一下,哪个视频接收器在效率方面更好? 我查阅了插件参考,发现了很多视频接收器:glimagesink、osxvideosink、sdlvideosink、ximagesink、xvimagesink、dfbvideosink、fbdevsink、gconfvideosink autovideosink是否总是工作正常?我的平台是ubuntu 9.04Video 如何使用gstreamer显示avi视频?,video,gstreamer,Video,Gstreamer,我想写一个目标跟踪程序,需要播放跟踪结果。由于gstreamer是一个很好的多媒体框架,我想在我的演示程序中使用它。但我不知道如何实现视频显示的细节。有人能帮忙吗 Avidemux插件可以将音频和视频部分从avi文件中分离出来,但是接下来该怎么做呢 如果我打开一个未压缩的avi文件,如果我直接将avidemux插件的输出板链接到视频接收器,它会工作吗 顺便问一下,哪个视频接收器在效率方面更好? 我查阅了插件参考,发现了很多视频接收器:glimagesink、osxvideosink、sdlvid
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!自动视频接收器十二月!队列音频转换!音频重采样!自动音频接收器