write_videofile(self, filename, fps=None, codec=None,
bitrate=None, audio=True,
# 音频比特率
audio_fps=44100,
# 速度
preset="medium",
# 通道数
audio_nbytes=4,
# 音频编码器
audio_codec=None,
audio_bitrate=None, audio_bufsize=2000,
temp_audiofile=None,
rewrite_audio=True, remove_temp=True,
write_logfile=False, verbose=True,
# FFMPEG线程数
threads=None, ffmpeg_params=None,
logger='bar')
一、问题说明:
1.音频比特率:从16000,调用函数后编程了44100
2. 音频通道数:从1通道,变成了2通道;
文章来源:https://www.toymoban.com/news/detail-827419.html
二、异常原因:
部分参数采用了默认值,包括音频比特率,通道类型。文章来源地址https://www.toymoban.com/news/detail-827419.html
from moviepy.editor import VideoFileClip, AudioFileClip
三、参数详细说明:
- filename:视频文件名,只要是ffmpeg支持的视频文件如 .ogv, .mp4, .mpeg, .avi, .mov等都可以
- fps:帧率,每秒编码的帧数
- codec:用于图像编码的编解码器,可以是ffmpeg支持的任何编解码器。如果文件名的扩展名为“.mp4”、“.ogv”、“.webm”,则会相应地设置编解码器,但如果不喜欢默认值,则仍可以进行设置。对于其他扩展名,必须相应地设置输出文件名。一些常用的编解码器如下:
- ‘libx264’:视频压缩效果好的一款编解码器,MP4的缺省编解码器,视频质量通过bitrate参数调节
- ‘mpeg4’:一种可选的MP4编解码器,可以替代’libx264’,可以获得更好的视频质量
- ‘rawvideo’:完美的视频质量,但文件会巨大,对应视频文件为’.avi’
- ‘png’:完美的视频质量,对应视频文件为’.avi’,但文件大小比’rawvideo’小
- ‘libvorbis’:是一种完全开放、免费的编解码器,有不错的视频格式,但是要不广,对应视频文件为’.ogv’
- ‘libvpx’:一种很适合在HTML5中使用的网络视频轻量级编开源解码器,对应视频文件为’.webm’
- bitrate:输出视频的比特率,也即码率BPS(Bits Per Second),指每秒传送的数据位数
- audio:可以为True、False或文件名,如果True且剪辑附加了音频,则音频将作为视频的音频保存,如果为False则不保存音频,如果为音频文件名则将此音频文件将作为视频的音频
- audio_fps:声音的采样频率
- preset:设置FFMPEG用于优化压缩的时间。字符串类型,可选值有:ultrafast、superfast、veryfast、faster、fast、medium、slow、slower、veryslow、 placebo。请注意,这不会影响视频的质量,只影响视频文件的大小。所以如果赶时间而文件大小不是很重要可以设置为ultrafast
- audio_nbytes:音频的采用的位数,对应基于字节为单位就是声道数;
- audio_codec:音频解码器,例如’.mp3’的’libmp3lame’、‘ogg’的’libvorbis’、 ‘m4a’的’libfdk_aac’、 ‘pcm_s16le’ 16位声音和’pcm_s32le’的32位声音。默认值为“libmp3lame”,除非视频扩展名为“ogv”或“webm”,在这2种情况下,默认值为“libvorbis”。
- audio_bitrate:音频比特率,字符串形式,如“50k”、“500k”、“3000k”,用于将确定输出文件中音频的大小/质量。请注意,这主要是一个指示性目标,输出文件的比特率不一定会按此设置。
- audio_bufsize:音频缓冲区大小
- temp_audiofile:如果输出由音频,则该参数用于指定要生成并合并到电影中的临时音频文件的名称,如果没有指定则用缺省模式的临时文件名
- rewrite_audio:这个参数目前没有作用,估计是为了兼容以前的版本
- remove_temp:是否删除临时文件
- write_logfile:如果为True,将为音频和视频输出记录日志文件。日志文件将以“.log”结尾,包含输出文件的名称
- verbose:已经废弃使用,留下来是为了兼容性,以前用于打开/关闭消息。现在使用logger=None。
- threads:用于ffmpeg的线程数,可以加快多核计算机上视频输出的速度
- ffmpeg_params:需额外传递的其他ffmpeg参数,用列表传递,形如:[’-option1’,‘value1’,’-option2’,‘value2’]
- logger:字符串类型,"bar"表示进度条、None 表示不设置、或任何程序日志记录器的名字
到了这里,关于Python Moviepy 视频编辑踩坑实录01:谁动了我的音频比特率的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!