您如何确定媒体录制的 bitsPerSecond?

如何解决您如何确定媒体录制的 bitsPerSecond?

是否有一些公式(例如每秒帧数 X 分辨率)来确定 bitsPerSecond?我无法理解我应该使用什么值。我想为 720p、1080p 和 4k 视频指定 bitsPerSecond。我不确定文件类型是否重要,但这很可能适用于 webm 或 mp4。恐怕我的一些文件过大,而另一些我没有使用足够的位导致视频故障。

我确实找到了此处列出的值.... https://restream.io/blog/what-is-a-good-upload-speed-for-streaming/ 但即使如此,我也不知道如何转换。

我正在使用 RecordRTC https://github.com/muaz-khan/RecordRTC,它是 MediaRecorder 的包装器。

recorder = RecordRTC(camera,{
       recorderType: MediaStreamRecorder,mimeType: encoding_options,bitsPerSecond: bits_per_second,timeSlice: 15000,getNativeBlob: true
   });

我想过做这样的事情吗?但我使用的值是太大还是太小?

var bits_per_second = 5000000;

if (current_camera_height > 2100){
  bits_per_second = 16777216
}

if (current_camera_height > 1000){
  bits_per_second = 7500000
}

解决方法

您可以阅读这篇关于视频比特率的文章以了解其工作原理。 https://restream.io/blog/what-is-video-bitrate/

根据 YouTube 推荐的视频比特率 (https://support.google.com/youtube/answer/1722171?hl=en#zippy=%2Cbitrate),您可以使用

bits_per_second = 40000000 for 4K video,bits_per_second = 16000000 for 2K video,bits_per_second = 8000000 for 1080p video,bits_per_second = 5000000 for 720p video,bits_per_second = 2500000 for 480p video,bits_per_second = 1000000 for 360p video
,

对于未压缩的视频,您可能会想到这一点。

BITRATE = SCREEN_SIZE_VERTICAL x SCREEN_SIZE_HORIZONTAL X FPS X PIXEL_COLOR_DEPTH
  • BITRATE: 比特率表示@bps(每秒比特数)
  • SCREEN_SIZE_VERTICAL: 屏幕的垂直尺寸(像素)
  • SCREEN_SIZE_HORIZONTAL: 屏幕的水平尺寸(像素)
  • FPS: frames per second
  • PIXEL_COLOR_DEPTH: 单个像素的 color depth

Display resolutions720p1080p4K 转换为:

  • 720p: (1280 x 720)
  • 1080p: (1920 x 1080)
  • 4K: (3840 × 2160)

以下信息以1080p24FPS3x8bit COLOR DEPTH视频为例。

Uncompressed bitrate

Megapixels: 2.1 MP (2,073,600 pixels)
Aspect ratio: 1.78:1 (HD 16:9)
1 frame of RGB 3x8bit: 6.22MB (2.1 MP x 24 bits)
Interlaced: 24 fps x 6.22MB x 50% (interlacing) = 597.2Mbps = 74.65MB/s
Progressive: 24 fps x 6.22MB = 1.19Gbps = 149.3MB/s
Longer durations: 8.96GB/min = 537.48GB/hr
Estimated compressed bitrates

HDCAM SR HQ (1080p25 @ 10bit = 880 Mbps) (compression: 1.3:1 or 76.9%):
918.76Mbps = 114.85MB/s = 6.89GB/min = 413.44GB/hr
HDCAM SR SQ (1080p25 @ 10bit = 440 Mbps) (compression: 2.7:1 or 37%):
442.37Mbps = 55.3MB/s = 3.32GB/min = 199.07GB/hr
Pure YCbCr 4:2:2 (compression: 3:1 or 33.3%):
398.13Mbps = 49.77MB/s = 2.99GB/min = 179.16GB/hr
Prores444 (1080p25 = 275 Mbps) (compression: 4.5:1 or 22.2%):
265.42Mbps = 33.18MB/s = 1.99GB/min = 119.44GB/hr
Prores422 (1080p25 = 184 Mbps) (compression: 6.7:1 or 14.9%):
178.27Mbps = 22.28MB/s = 1.34GB/min = 80.22GB/hr
REDCODE 42 Codec (compression: 7.5:1 or 13.3%):
159.25Mbps = 19.91MB/s = 1.19GB/min = 71.66GB/hr
JPEG2000 250Mbps for 2Kp24 (compression: 7.6:1 or 13.2%):
157.16Mbps = 19.64MB/s = 1.18GB/min = 70.72GB/hr
DVCPRO HD 4:2:2 Y′CbCr (1080i50 = 115 Mbps) (compression: 8.6:1 or 11.6%):
138.88Mbps = 17.36MB/s = 1.04GB/min = 62.5GB/hr
REDCODE 36 Codec (compression: 9:1 or 11.1%):
132.71Mbps = 16.59MB/s = 995.33MB/min = 59.72GB/hr
REDCODE 28 Codec (compression: 10:1 or 10%):
119.44Mbps = 14.93MB/s = 895.8MB/min = 53.75GB/hr
JPEG2000 250Mbps for 2Kp48 (compression: 15.3:1 or 6.5%):
78.06Mbps = 9.76MB/s = 585.49MB/min = 35.13GB/hr
MPEG2 High (1080p25 = 80 Mbps) (compression: 15.5:1 or 6.5%):
77.06Mbps = 9.63MB/s = 577.93MB/min = 34.68GB/hr
DVD MPEG2 (480p25 = 9.8 Mbps) (compression: 21.1:1 or 4.7%):
56.61Mbps = 7.08MB/s = 424.55MB/min = 25.47GB/hr
DVCPRO50 (1080p25 = 50 Mbps) (compression: 24.8:1 or 4%):
48.16Mbps = 6.02MB/s = 361.21MB/min = 21.67GB/hr
BluRay H.264 (1080p25 = 38 Mbps) (compression: 32.6:1 or 3.1%):
36.64Mbps = 4.58MB/s = 274.78MB/min = 16.49GB/hr

最后但并非最不重要的是,存在 this lovely online tool,用于进行计算并查看视频压缩标准列表所需的带宽。

由于上述结果中未提及 H.265(或高效视频编码 - HEVC),您可以使用下表作为参考。

Video
coding       Average bit rate reduction
standard     compared with H.264/MPEG-4 AVC HP      
----------------------------------------------  
HEVC          480p  720p    1080p   2160p
----------------------------------------------
              52%    56%     62%     64%

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 <select id="xxx"> SELECT di.id, di.name, di.work_type, di.updated... <where> <if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 <property name="dynamic.classpath" value="tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-