我使用ffmpeg将视频从一种格式转换为另一种格式.bitrate是唯一决定视频/音频文件输出大小的参数吗?
我们在视频会议项目中使用x264编码器,我们具有基本的流视频功能,但是,在理解各种速率控制设置如何确定最终比特率时遇到了麻烦。我们设置以下参数:
x264_param_t params;
x264_param_default_preset(¶ms, "ultrafast", "zerolatency");
params.i_threads = 1;
params.i_width = width;
params.i_height = height;
params.i_fps_num = fps;
params.i_keyint_max = fps;
params.b_intra_refresh = 1;
params.b_repeat_headers = 1;
params.b_annexb = 1;
//Set rate control stuff here
x264_param_apply_profile(¶ms, "baseline");
Run Code Online (Sandbox Code Playgroud)
如果仅设置params.rc.i_bitrate参数,则编码器似乎会严重超出比特率。如果我们设置i_vbv_max_bitrate和i_vbv_buffer_size参数,我们将看到一个比特率达到i_vbv_max_bitrate设置的峰值(有时过冲)。显然,严格控制比特币对视频会议很重要,但是文档是不透明的。还有其他人使用x264进行视频会议吗?您如何设置编码器?任何帮助表示赞赏,在此先感谢。
我正在使用ffmpeg将mp4转换为m3u8。但是首先我需要使mp4变小。我使用以下代码将其缩小:
ffmpeg -i big.mp4 -b 1000000 small.mp4
Run Code Online (Sandbox Code Playgroud)
然后我使用此代码将其转换为m3u8
ffmpeg -i small.mp4 -g 60 -hls_time 2 -hls_list_size 0 -hls_segment_size 500000 output.m3u8
Run Code Online (Sandbox Code Playgroud)
有没有办法一次做到这一点?
我需要将 mp3 从恒定或可变比特率转换为平均比特率。我怎样才能做到这一点?
我用过
-b 250k -minratre 50kb -maxrate 260kb
Run Code Online (Sandbox Code Playgroud)
但当我运行命令时,它会保持恒定的比特率。
我有一个txt看起来像这样的文件:
0.065998 81
0.319601 81
0.539613 81
0.768445 81
1.671893 81
1.785064 81
1.881242 954
1.921503 193
1.921605 188
1.943166 81
2.122283 63
2.127669 83
2.444705 81
Run Code Online (Sandbox Code Playgroud)
第一列是数据包到达和第二个数据包大小(以字节为单位).
我需要得到每秒的平均字节值.例如,在第一秒中,我只有值为81的数据包,因此平均比特率为81*8= 648bit/s.然后我应该以秒为单位绘制图表x轴时间,y轴每秒平均比特率.
到目前为止,我只设法将数据上传为数组:
import numpy as np
d = np.genfromtxt('data.txt')
x = (d[:,0])
y = (d[:,1 ])
print x
print(y*8)
Run Code Online (Sandbox Code Playgroud)
我是Python的新手,所以任何帮助从哪里开始都将非常感谢!
这是结果脚本:
import matplotlib.pyplot as plt
import numpy as np
x, y = np.loadtxt('data.txt', unpack=True)
bins = np.arange(60+1)
totals, edges = np.histogram(x, weights=y, bins=bins)
counts, edges = np.histogram(x, …Run Code Online (Sandbox Code Playgroud) 我正在使用 ffmpeg 检查给定视频的比特率,我的目标是将其降低到原始比特率的一半。
出于测试目的,我执行了此命令
ffmpeg -i example.avi
Run Code Online (Sandbox Code Playgroud)
我看到视频的比特率约为 1030 kb/s
我想知道ffmpeg用于比特率的单位是哪个。
ffmpeg -i example.aviffmpeg -b 515 new_video.avi
Run Code Online (Sandbox Code Playgroud)
我将 b:a 和 b:v 用于音频和视频,但结果再次不正确我只尝试了 515 和 515k,但仍然不正确......
我的目标是输出比特率为 515 kb/s 的视频。