在 Android 中播放 RTSP 流视频时如何保持宽高比?

Posted

技术标签:

【中文标题】在 Android 中播放 RTSP 流视频时如何保持宽高比?【英文标题】:How to maintain aspect-ratio when playing RTSP streaming video in Android? 【发布时间】:2011-03-28 22:59:45 【问题描述】:

我有一个流媒体 RTSP 视频链接,我正在 VideoView 的帮助下播放。在纵向模式下,视频分辨率和纵横比非常完美。但是当我尝试切换到横向模式时,视频会拉伸并且看起来会拉长。这极大地扭曲了质量。

    有关如何使视频视图在两种方向模式下保持相同纵横比的任何提示? 如果我需要编写自己的媒体播放器来扩展 VideoView .. 我应该如何覆盖 onMeasure(...) 以正确呈现视频?任何示例都会对 android 开发者网站上的有限文档有很大帮助 如何查看通过RTSP接收到的视频的大小?以便我们可以将视频视图设置为该大小?

如果有任何建议我愿意倾听,因为我对媒体 API 还很陌生......

【问题讨论】:

【参考方案1】:

关于如何使视频视图在两种方向模式下保持相同纵横比的任何提示?

通常是这样。例如,This project 可以在纵向和横向的本地 test.mp4 文件(在外部存储的根目录中)正常工作,同时保持纵横比。

【讨论】:

在我的情况下它没有。我有大小为 240*180 的视频源。它的纵向显示为 240*180,在风景中也以相同的分辨率显示。我希望视频在不丢失纵横比的情况下尽可能放大。我只是使用一个 RelativeLayout 并将我的 VideoView 放置在 ParentCenter 中。我保持松散,没有将它附加到父母的任何边界。但它仍然显示为相同的分辨率,对于横向来说非常非常小。 @AKh:尝试使用我的示例项目中的布局。 嗨,马克,你的布局成功了。它的缩放完美。谢谢你,马克。我还有一个问题,我想要一个定制的媒体控制器,它只有一个暂停按钮、退出按钮和一个搜索栏,在开始端(左角)表示经过的时间,另一端应该说“实时”而不是剩余时间,因为它是实时提要。请问有什么想法吗? youtube.com/watch?v=Q-GLuydiMe4 ...当我使用此链接时,敌人转换为 rtsp 格式...无法播放,但其他视频 ID 运行良好。你知道吗..为什么会这样?

以上是关于在 Android 中播放 RTSP 流视频时如何保持宽高比?的主要内容,如果未能解决你的问题,请参考以下文章

android 怎么播放rtsp流

在 Android 应用程序中播放 RTSP 流

在 VideoView 中播放流,将 url 转换为 rtsp

android视频播放器

如何使用 videoview 播放带有身份验证的 rtsp 流?

Vlc rtsp android录像,VLC-Android 对视频流(RTSP)做翻转旋转