如何使用gstreamer显示avi视频?

发布于 2024-08-08 03:55:07 字数 410 浏览 3 评论 0 原文

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

Avidemux 插件可以将 avi 文件中的音频和视频部分分离,但是下一步该怎么办呢?

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

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

蒂亚~

I want to write an object tracking program which needs to play the tracked result. As gstreamer is a good multimedia frame work, I want to use it in my demo program. But I don't know how to implement video display in detail. Can any one help?

Avidemux plugin could separate the audio and video part from an avi file, but what to do next?

If I open an uncompressed avi file, does it work if I directly link the output pad of avidemux plugin to a video sink?

By the way, which video sink is better at the efficiency aspect?
I looked up the plugin reference and found a lot of video sinks: glimagesink, osxvideosink, sdlvideosink, ximagesink, xvimagesink, dfbvideosink, fbdevsink, gconfvideosink
Does autovideosink always work well? My platform is ubuntu 9.04.

TIA~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

洒一地阳光 2024-08-15 03:55:07

正如尼克·哈德(Nick Hadded)建议的那样,playbin 或decodebin 是一个很好的起点。为了进行实验,我建议使用 gst-launch,例如:

gst-launch filesrc location=video.avi !
decodebin2 name=dec ! queue ! ffmpegcolorspace ! autovideosink
dec. ! queue ! audioconvert ! audioresample ! autoaudiosink

我使用 autoaudiosink 和 autovideosink 因为它们通常可以工作。当您找到有效的管道时,请尝试使用代码构建相同的管道。如果您不需要音频,只需跳过管道的该部分即可。对于视频显示,最好的选择是 xvimagesink(至少在 UNIX 上)。

As Nick Hadded suggests, playbin or decodebin is a good place to start. For experimenting I suggest using gst-launch, e.g.:

gst-launch filesrc location=video.avi !
decodebin2 name=dec ! queue ! ffmpegcolorspace ! autovideosink
dec. ! queue ! audioconvert ! audioresample ! autoaudiosink

I'm using autoaudiosink and autovideosink because they usually work. When you've found a pipeline that works, try building the same pipeline with code. If you don't need audio, just skip that part of the pipeline. For video display, your best bet is xvimagesink (on UNIX at least).

我很坚强 2024-08-15 03:55:07

我建议使用 playbin (参考页面文档)或解码箱(参考页面, 文档)。这些极大地简化了为不同类型的视频文件创建 gstreamer 管道的过程。对于每个,您都可以使用视频接收器 GstXOverlay 界面。请参阅 将视频窗口嵌入您的应用程序了解更多详细信息。

I would recommend using the playbin (reference page, documentation) or the decode bin (reference page, documentation). These greatly simplify the process of creating gstreamer pipelines for different types of video files. With each you can use a video sink using the GstXOverlay interface. See Embedding the video window in your application for more details.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文