small-video-record icon indicating copy to clipboard operation
small-video-record copied to clipboard

SmallVideoLib2如何设置横屏录制

Open VeryCure opened this issue 7 years ago • 9 comments

录制出来的视屏如何旋转90°?求教

VeryCure avatar Oct 17 '17 08:10 VeryCure

我目前也在研究这个,界面已经默认横屏了,先要设置预览的角度为0,然后在压缩的时候做旋转处理就可以了,但是产生的新问题是预览视频正常,播放的视频明显被放大了,目前还在查这个原因,有知道的望解答一下,感谢!

MaleWxt avatar Oct 18 '17 07:10 MaleWxt

@MaleWxt 设置预览角度我知道,但是怎么做旋转处理呢?是在源码 FFmpegBridge.prepareJXFFmpegEncoder( mMediaObject.getOutputDirectory(), mMediaObject.getBaseName(),vCustomFormat, mSupportedPreviewWidth, SMALL_VIDEO_HEIGHT, SMALL_VIDEO_WIDTH, SMALL_VIDEO_HEIGHT, mFrameRate, mVideoBitrate); 设置vCustomFormat这个参数吗

VeryCure avatar Oct 18 '17 07:10 VeryCure

@MaleWxt 它所列的参数我都试过了,还是不行,麻烦解答下,谢谢!!

VeryCure avatar Oct 18 '17 07:10 VeryCure

旋转在MediaRecorderNative中利用ffmpeg的命令来实现的,transpose后面带不同的数值来表示旋转角度,你可以自己试一下,目前横屏我用的4,,解决问题了。

MaleWxt avatar Oct 19 '17 01:10 MaleWxt

昨天把横屏的问题解决得差不多了,目前出现一个新问题,我用平板拍摄的视频,如果拍摄出来的视频按照传入的视频宽高来进行裁剪会将视频给放大,改变了裁剪的宽高时,视频压缩裁剪的效率降低,而且还降低了很多。

MaleWxt avatar Oct 19 '17 01:10 MaleWxt

@MaleWxt 我对视频这方面就是小白,我也不知道什么问题,横竖屏这个我还没有弄出来。另外你说的利用ffmpeg命令实现实在MediaRecorderBase里面做的吗?doCompress(boolean mergeFlag)这个方法下,String cmd_transcoding = String.format("ffmpeg -threads 16 -i %s -c:v libx264 %s %s %s -c:a libfdk_aac %s %s %s %s", mMediaObject.getOutputTempVideoPath(), getBitrateModeCommand(compressConfig, "", false), getBitrateCrfSize(compressConfig, "-crf 28", false), getBitrateVelocity(compressConfig, "-preset:v ultrafast", false), vbr, getFrameRateCmd(), scaleWH, mMediaObject.getOutputTempTranscodingVideoPath() ); 添加参数做的吗?我等下试试

VeryCure avatar Oct 19 '17 01:10 VeryCure

@MaleWxt 我知道你说的哪里了 ,你用的是第一个版本,我用的第二个SmallVideoLib2,所以没找到

VeryCure avatar Oct 19 '17 01:10 VeryCure

横屏录制问题太多了,目前我研究的程度不够,总是卡在效率的地方,录个2-3秒,压缩的时间比这还长。

MaleWxt avatar Oct 19 '17 06:10 MaleWxt

软件编码比较慢

hagridcool avatar May 28 '18 05:05 hagridcool