为什么ExtractMpegFramesTest不适用于旋转的输入文件?

格热哥兹·亚当·汉基维奇

我开始解码/编码应用程序的视频,看来BigFlake的网站是有关工作视频代码的权威参考。我已经将ExtractMpegFramesTest_egl14.java复制到我的项目中,并对其进行了修改,以使用其他文件路径,但除此之外没有其他内容。它可以从我复制到设备中的预录制视频中正确提取帧。但是,当尝试将其与从设备的摄像机录制的视频一起使用时,我得到的帧只是水平线:

在此处输入图片说明

测试了不同的录制视频后,我意识到问题出在旋转的视频上。设备的摄像头对来自帧缓冲区的帧进行编码,然后在视频上拍一个旋转标签。这可以从MediaFormat对象中提取

int rotation = format.getInteger("rotation-degrees");

不幸的是,交换已保存图像的宽度/高度不会改变任何内容,图像仍然会损坏。必须执行保存代码才能正确处理旋转的帧?

格热哥兹·亚当·汉基维奇

正如另一个答案指出源代码注释所暗示的那样,OpenGL需要转换图像。原始invert布尔值可用于未旋转或旋转180度的源。但是其他方向(90和270)将显示翻转的图像,因此也必须翻转它们。

这是我为正确处理旋转所做的更改:

  1. rotation-degrees从源媒体读取属性(如果可用)。
  2. 修改CodecOutputSurface构造函数以接受数字旋转参数,该参数存储在mRotation实例变量中。
  3. 修改invert旋转为0或180时要使用的原始代码。
  4. 旋转为90或270时,请使用其他矩阵变换。

您可以从以下要点中获得完整的修改版本,并查看上面提到各个更改

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么输入模式属性不适用于数字?

来自分类Dev

为什么更改事件不适用于输入?

来自分类Dev

为什么输入模式属性不适用于数字?

来自分类Dev

为什么File.WriteAllBytes不适用于.db文件,但适用于.csv文件?

来自分类Dev

为什么提交输入样式既不适用于Safari(Mac)也不适用于Chrome,而仅适用于背景颜色?

来自分类Dev

为什么专注于输入框和选项不适用于引导模态?

来自分类Dev

为什么预先输入不适用于此MVC5应用程序?

来自分类Dev

为什么错误处理不适用于“无”输入?

来自分类Dev

为什么带有输入类型文本的日期管道不适用于angular2?

来自分类Dev

为什么empty() 不适用于搜索栏中的输入?

来自分类Dev

为什么我的函数适用于矩阵但为什么不适用于向量?

来自分类Dev

为什么文件浏览器搜索不适用于部分文件名?

来自分类Dev

为什么此仅用于数字输入的功能实际上不适用于输入类型:数字?

来自分类Dev

为什么此仅用于数字输入的功能实际上不适用于输入类型:数字?

来自分类Dev

jQuery验证程序不适用于文件输入类型

来自分类Dev

ng-model不适用于文件输入

来自分类Dev

进程替换不适用于使用iconv的输入文件

来自分类Dev

“返回”不适用于输入类型文件的更改事件

来自分类Dev

为什么Xcode的错误检查不适用于我的测试文件夹?

来自分类Dev

为什么Git忽略不适用于__pycache__文件夹?

来自分类Dev

为什么fwrite不适用于C中的二进制文件?

来自分类Dev

为什么 uglify 不适用于我在 gulp 中的 javascript 文件

来自分类Dev

为什么 PHP fopen() 函数不适用于 755 和 775 文件夹权限?

来自分类Dev

为什么忽略SIGTRAP不适用于asm?

来自分类Dev

为什么Map在Groovy中不适用于GString?

来自分类Dev

为什么绑定不适用于动画?

来自分类Dev

为什么python re模块不适用于@?

来自分类Dev

为什么向左滑动不适用于Jquery mobile?

来自分类Dev

为什么这些条件不适用于模板类型?

Related 相关文章

  1. 1

    为什么输入模式属性不适用于数字?

  2. 2

    为什么更改事件不适用于输入?

  3. 3

    为什么输入模式属性不适用于数字?

  4. 4

    为什么File.WriteAllBytes不适用于.db文件,但适用于.csv文件?

  5. 5

    为什么提交输入样式既不适用于Safari(Mac)也不适用于Chrome,而仅适用于背景颜色?

  6. 6

    为什么专注于输入框和选项不适用于引导模态?

  7. 7

    为什么预先输入不适用于此MVC5应用程序?

  8. 8

    为什么错误处理不适用于“无”输入?

  9. 9

    为什么带有输入类型文本的日期管道不适用于angular2?

  10. 10

    为什么empty() 不适用于搜索栏中的输入?

  11. 11

    为什么我的函数适用于矩阵但为什么不适用于向量?

  12. 12

    为什么文件浏览器搜索不适用于部分文件名?

  13. 13

    为什么此仅用于数字输入的功能实际上不适用于输入类型:数字?

  14. 14

    为什么此仅用于数字输入的功能实际上不适用于输入类型:数字?

  15. 15

    jQuery验证程序不适用于文件输入类型

  16. 16

    ng-model不适用于文件输入

  17. 17

    进程替换不适用于使用iconv的输入文件

  18. 18

    “返回”不适用于输入类型文件的更改事件

  19. 19

    为什么Xcode的错误检查不适用于我的测试文件夹?

  20. 20

    为什么Git忽略不适用于__pycache__文件夹?

  21. 21

    为什么fwrite不适用于C中的二进制文件?

  22. 22

    为什么 uglify 不适用于我在 gulp 中的 javascript 文件

  23. 23

    为什么 PHP fopen() 函数不适用于 755 和 775 文件夹权限?

  24. 24

    为什么忽略SIGTRAP不适用于asm?

  25. 25

    为什么Map在Groovy中不适用于GString?

  26. 26

    为什么绑定不适用于动画?

  27. 27

    为什么python re模块不适用于@?

  28. 28

    为什么向左滑动不适用于Jquery mobile?

  29. 29

    为什么这些条件不适用于模板类型?

热门标签

归档