论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
数据库
›
SQL-Server
›
在安卓中利用FFmpeg录制摄像头的视频并生存到当地MP4文 ...
在安卓中利用FFmpeg录制摄像头的视频并生存到当地MP4文件 ...
锦通
论坛元老
|
2024-7-14 22:26:48
|
显示全部楼层
|
阅读模式
楼主
主题
1017
|
帖子
1017
|
积分
3051
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
在移动应用开辟中,偶尔必要利用设备的摄像头录制视频,并且希望在录制过程中能够正确控制视频的质量、格式和时长。FFmpeg作为一个强盛的多媒体处理惩罚工具,提供了广泛的功能和选项,能够帮助我们实现这样的需求。
添加依赖
在安卓平台上,可以利用 com.arthenica:mobile-ffmpeg-full 库来实现这一目标。
implementation 'com.arthenica:mobile-ffmpeg-full:4.4'
复制代码
堆栈地址:https://github.com/tanersener/mobile-ffmpeg
更多 ffmpeg 的其他用法,参考上述地址文档示例
利用FFmpeg录制视频的命令
FFmpeg.execute("-f android_camera -video_size 1280x720 -i 0:0 -r 25 -b:v 1.5M -pixel_format yuv420p -t 00:01:00 /sdcard/recorded_video.mp4");
复制代码
参数的含义和作用:
-f android_camera:指定输入的格式为android_camera,告诉FFmpeg从Android设备的摄像头获取视频流。
-video_size 1280x720:设置视频输入的分辨率为1280x720像素。取决于你的摄像头支持的分辨率,按需求来。
-i 0:0:指定输入文件或设备。在这里,0:0体现FFmpeg将从Android系统默认的摄像头获取视频输入。0代表设备号(通常是摄像头),0代表输入流索引(通常是视频流)。
-r 25:设置输出视频的帧率为25帧每秒(fps)。决定了视频每秒显示多少帧画面。
-b:v 1.5M:设置视频的视频比特率为1.5 Mbps(1.5兆比特每秒)。比特率决定了视频的质量和文件巨细,较高的比特率通常意味着更高的视频质量和更大的文件巨细。
-pixel_format yuv420p:设置像素格式为YUV420P。YUV420P是一种广泛用于视频编码和传输的像素格式,此中Y体现亮度分量(Luma),U和V体现色度分量(Chroma)。
-t 00:01:00:设置录制的视频时长为1分钟(00:01:00)。FFmpeg会在达到指定的时间后停止录制。
/sdcard/recorded_video.mp4:指定输出文件的路径和文件名。在这里,视频将被生存为MP4格式的文件,路径是/sdcard/recorded_video.mp4。实际路径按你需求写即可,确保有权限读写就行。
注意
在FFmpeg中 各参数的顺序不要随意更改,否则就会导致参数设置无效,导致利用默认参数,比如 -video_size 1280x720 如果放在-i 0:0的背面的话,就会不起作用,切记切记!
-t 00:01:00 是录制一分钟,到时间自动结束,当然你要想一直录制就把这个参数去掉就行,想要结束的时间调用 FFmpeg.cancel即可
-b:v 1.5M 可以根据需求机动配置,一切以实际为准,值越大视频就越大,找一个符合的值即可。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
锦通
论坛元老
这个人很懒什么都没写!
楼主热帖
vue3 - 最新详细实现 “拖曳式课程表“ ...
快速入手node.js
奇怪,为什么ArrayList初始化容量大小 ...
漏洞利用
医院HIS体系厂家统计
如何成为一位人心所向的管理者?我的经 ...
Kubernetes(k8s)pod详解
如何在文章中设置灰色文本框(正文底色 ...
理解MVCC
Vue实现复制粘贴功能
标签云
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表