c - OpenMAX,树莓派 : Get Video Dimensions of H264

标签 c raspberry-pi h.264 openmax

有什么方法可以直接使用OpenMAX在树莓派上获取H264视频的视频尺寸>ffmpeg 还是别的?所有 pi 示例似乎都具有硬编码值。

谢谢!

最佳答案

是的,这可以通过查询解码器输出端口的 OMX_PARAM_PORTDEFINITIONTYPE 结构来实现。您必须按照以下方式使用一些东西:

OMX_PARAM_PORTDEFINITIONTYPE portdef;
portdef.nSize = sizeof(OMX_PARAM_PORTDEFINITIONTYPE);
portdef.nVersion.nVersion = OMX_VERSION;
portdef.nPortIndex = 131;

OMX_GetParameter(ILC_GET_HANDLE(video_decode), OMX_IndexParamPortDefinitionType, portdef);

printf("Width: %d, Height: %d\n", portdef.format.video.nFrameWidth, portdef.format.nFrameHeight);

请注意,这只会在 OMX_EventPortSettingsChanged 事件触发后(在处理第一个缓冲区后发生)为您提供正确的值。否则,这个值可能而且很可能是错误的。

关于c - OpenMAX,树莓派 : Get Video Dimensions of H264,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28921632/

相关文章:

c - 静态函数的语法是什么?

c - Lua C API : undefined reference errors in liblua.a

c - 信号量值的输出

实时控制音量

ffmpeg 使用 flowplayer 编码视频和音频以进行流式传输

c++ - 点对点连接,当一个点在 NAT 后面时

python - 如何开始使用 Raspberry Pi 进行嵌入式编程?

将帧从相机 (/dev/video0) 复制到帧缓冲区 (/dev/fb0) 会产生意外结果

video - 具有 H.264 的 mpeg-4 容器所需的最小 Atom/Box 集(一个流,渐进式视频,无音频)

ios - 如何在 iOS 中实现视频 DRM