Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

预览尺寸问题 #472

Closed
mafanwei opened this issue Sep 18, 2020 · 5 comments
Closed

预览尺寸问题 #472

mafanwei opened this issue Sep 18, 2020 · 5 comments

Comments

@mafanwei
Copy link
Contributor

如果不更改相机的预览(即setpreviewsize),只更改surfaceview的尺寸,会导致拍摄与预览画面不一致。因为预览显示的是放大/缩小后的画面。
根据其他相机经验:如果相机预览比例与拍摄比例一致,则可以保证预览与拍摄画面一致。
通过cameraInstance获取params确实可以设置预览的尺寸,但画面会变形拉伸,猜测与mFrameRecorder.render实现有关,如何实现预览尺寸更改仍能保证画面不变形呢?求指教

@mafanwei
Copy link
Contributor Author

这个是是否全屏显示,与我的提问无关。
比如3:4显示,那我就要设置画面长宽为3:4,并且预览分辨率也为3:4,拍照分辨率也为3:4,才能保证预览与拍摄一致。
目前的相机应用普遍都有3:4,1:1,9:16切换,观测其他相机app发现,每次都是关闭相机,然后在打开相机,设置新的分辨率。
但您的项目中,把很多初始化放在了onSurfaceCreate中,导致上述功能需要回收GLSurfaceView才能实现,遗憾的是,就目前为止,我并没有找到一个很好的办法来改进这个事。

@wysaid
Copy link
Owner

wysaid commented Oct 8, 2020

这个是是否全屏显示,与我的提问无关。
比如3:4显示,那我就要设置画面长宽为3:4,并且预览分辨率也为3:4,拍照分辨率也为3:4,才能保证预览与拍摄一致。
目前的相机应用普遍都有3:4,1:1,9:16切换,观测其他相机app发现,每次都是关闭相机,然后在打开相机,设置新的分辨率。
但您的项目中,把很多初始化放在了onSurfaceCreate中,导致上述功能需要回收GLSurfaceView才能实现,遗憾的是,就目前为止,我并没有找到一个很好的办法来改进这个事。

嗯, 内置提供的只是一个简单的demo, 你可以自己写一下相关的逻辑

@mafanwei
Copy link
Contributor Author

目前使用了裁剪的办法实现了不同宽高比,但是视频如何裁剪,大佬有暴漏ffmpeg的命令接口么?

@mafanwei
Copy link
Contributor Author

引入了另一个ffmpeg库,裁剪实现了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants