当前位置: 首页 > wzjs >正文

vs如何做网站html简单网页代码实例

vs如何做网站,html简单网页代码实例,企业网站建设项目实践报告,个人cms网站CameraX实现录像 首先在起预览时就要配置录像usecase,对于cameraX来说就是绑定录像usecase到lifecycle。如下。 1,创建Recorder对象,是与 VideoCapture 紧密耦合的 VideoOutput 实现。Recorder可以用来配置录像的分辨率、比例等,还…

CameraX实现录像

首先在起预览时就要配置录像usecase,对于cameraX来说就是绑定录像usecase到lifecycle。如下。

1,创建Recorder对象,是与 VideoCapture 紧密耦合的 VideoOutput 实现。Recorder可以用来配置录像的分辨率、比例等,还有其他诸如视频编码率、音频源等,作用类似与mediarecorder,但是没mediarecorder能够设置的参数多,关于两者更进一步的思考可以见后文。

不过当前这个不支持对自定义的分辨率进行设置,只支持设置预定的分辨率,同时当前发现也不能设置1:1与full size尺寸。

2,创建 VideoCapture 对象,这个是录像的usecase。通过调用VideoCapture.withOutput(),来将上面的Recorder对象与VideoCapture绑定,返回值就是VideoCapture。

3,绑定到 Lifecycle。

接着就是在开始录像的流程。

1,使用MediaStoreOutputOptions来配置保存下来的视频文件相关参数,例如路径、格式、文件名等。

2,通过Recorder.prepareRecording来获取PendingRecording这个中间类,最终在其上再调用start()开始录像,start()会返回Recording对象。start()会传入一个Consumer<VideoRecordEvent>,录像回调处理就是在这里。VideoRecordEvent存放了录像状态信息,可以在录像回调中读取进行处理。

3,停止录像时就用Recording.stop()。

4,暂停、恢复录像用Recording.pause()、Recording.resume()。

cameraX实现慢动作录像

官方没有提供跟camera2一样可以在相机侧就实现的慢动作录像的API,再一次说明cameraX只能实现简单版的相机。

不过从网上了解到有几种方案:

1)使用videocapture录制,在录制时设置录像帧率为高帧率,比如120FPS,在停止录像时将已经生成的视频文件通过ffmpeg的命令处理来将视频设定为四分之一速率来播放,最终实现在视频播放器播放时用30FPS播放慢动作视频。

2)这种方案在相机侧跟上一种一样,只是没有将视频文件进行速率转换,改成在播放器侧,通过mediaplayer类来控制播放速率。这种方式相对来说兼容性差,相机侧、视频播放器侧都需要修改。

3)mediacodec处理视频编码与帧率调整。

这里采用了第一种方式来实现。

关键点就是在需要用到以下在相机侧设置高帧率。

Range<Integer> targetFrameRate = new Range<>(120, 120);

mVideoCapture = new VideoCapture.Builder<Recorder>(mRecorder).setTargetFrameRate(targetFrameRate).build();

在最终生成临时的inputPath文件后,再通过ffmpeg命令来转化输出到outputPath

public static void convertToSlowMotion(String inputPath,String outputPath) {
    String cmd = "-i " + inputPath + " -filter:v \"setpts=4.0*PTS\" " + " -an " + outputPath;//add -an to remove the audio stream.
    FFmpegKit.executeAsync();
}

这里的cmd解释如下:

-filter:v "setpts=4.0*PTS":调整视频帧的时间戳,使得视频播放速度变为原来的四分之一。

-an:这个选项告诉 FFmpeg 不要包含任何音频流,从而确保输出文件中没有任何音频。

实测,该方案可以实现需求。后两种方案等后续再实现试试。

Recorder与Mediarecorder区别

CameraX使用到的recorder类,实现的功能类似于camera2常用到的mediarecorder,不过两者又有挺大差别。

通过查看源码分析,我们可以有以下的简单结论。

recorder专注于视频文件音视频参数相关的,像视频码率、音频采样率等,都有对应接口可以调用进行相关参数设置。而mediarecorder不止这些,还包括一些视频文件保存需要定义的参数,比如文件路径、文件大小限制、文件位置信息。这些文件相关的,cameraX提供了另一个类MediaStoreOutputOptions来处理相关的配置。一般来说,我们实现文件配置相关的功能在MediaStoreOutputOptions、mediarecorder有一一对应的接口。如设置视频文件大小限制的MediaStoreOutputOptions.setFileSizeLimit()与mediarecorder.setMaxFileSize()。

附上源码。


文章转载自:

http://Mr23feGU.dxhnm.cn
http://sy8fRIim.dxhnm.cn
http://B5AAve8Z.dxhnm.cn
http://ydtzb4XD.dxhnm.cn
http://m0qNXXNO.dxhnm.cn
http://KmSgRf5H.dxhnm.cn
http://Rmmo4via.dxhnm.cn
http://HEKUrxdH.dxhnm.cn
http://E7XJqdrZ.dxhnm.cn
http://oBYtcJFe.dxhnm.cn
http://EyyMUIJo.dxhnm.cn
http://mzveTqu5.dxhnm.cn
http://8trrOufg.dxhnm.cn
http://31sQXZPX.dxhnm.cn
http://cW0x84n1.dxhnm.cn
http://5hQ2oCgi.dxhnm.cn
http://yWNfZLd9.dxhnm.cn
http://zrglrCWa.dxhnm.cn
http://2tu80hMt.dxhnm.cn
http://QngthvLw.dxhnm.cn
http://aqQC5FJR.dxhnm.cn
http://geXowqsH.dxhnm.cn
http://ktXaIt3L.dxhnm.cn
http://dOlXbDIt.dxhnm.cn
http://4VznL3Sw.dxhnm.cn
http://kgjndevg.dxhnm.cn
http://yz005uQk.dxhnm.cn
http://NqWkhw5a.dxhnm.cn
http://HytlHE2z.dxhnm.cn
http://UdvijdyB.dxhnm.cn
http://www.dtcms.com/wzjs/735149.html

相关文章:

  • 网站开发及维护招聘建设网站都要学些什么
  • wordpress全站cdn大庆建设中等职业技术学校网站
  • 青岛网站建设哪家公司好宁波工业设计
  • 网站的优化通过什么做上去外贸网站建设及推广
  • 东莞建设网站官网住房和城乡资料WordPress集成tipask
  • 网站建设新闻稿搜索引擎调价平台哪个好
  • 网站建设费入什么科目2018新品网络推广
  • 重庆建设安全员信息网站什么是电商
  • dede如何做手机网站搜狗网站提交
  • 广州 网站建设网络推广网页设计定制网站建设开发
  • wordpress游戏代练主题优化大师破解版app
  • 网站建设的优缺点交易平台网站建设项目需求
  • 网站建设公司itcask葫芦岛建设工程信息网站
  • 做刷题网站赚钱么南宁seo域名
  • 襄阳做网站哪家好ps做网站的分辨率多少
  • 无锡百度网站排名网页在线生成app
  • 网站建设需要的人员wordpress的源代码
  • 为什么原网站建设公司不愿意透露域名管理权限给客户旅游网站开发背景意义
  • 佛山网站开发公司电话网站开发制作报价
  • 做网站用discuz还是wp个人网站 摄影展示
  • 物流建设网站总结公司图标设计大全免费
  • html的制作网站的优点义乌1688网站网页设计
  • 新竹自助建站系统my域名
  • 有个电商网站模板网站设计步骤大全
  • 做网站的接口是意思哈尔滨优质官网建站企业
  • 南阳网站排名优化公司高负载php网站开发
  • 记事本代码做网站网站建设服务费记账分录
  • 网站建设实训实训心得杭州西湖区网站建设
  • 锦州市网站建设绵阳建网站
  • 郑州专业做淘宝直播网站做图用哪个素材网站