我想用 FFMPEG 将视频转换为 mp4,同时保持源视频的比特率(CBR 模式)和质量,
我尝试了一些在这里找到的命令:
https://trac.ffmpeg.org/wiki/Encode/H.264#CBRConstantBitRate
https://superuser.com/questions/314354/ffmpeg-constant-bitrate
https://brokenpipe.wordpress.com/2016/10/07/ffmpeg-h-264-constant-bitrate-cbr-encoding-for-iptv/
通过上面的链接-minrate,我使用-maxrate和其他一些参数实现了恒定比特率,
ffmpeg -i <source> -b <sourceBitrate> -minrate <sourceBitrate> -maxrate <sourceBitrate> 2> log.txt output.mp4
ffmpeg -i <source> -c:v libx264 -x264-params "nal-hrd=cbr" -b:v <sourceBitrate> -minrate <sourceBitrate> -maxrate <sourceBitrate> 2> log.txt output.mp4
ffmpeg -i <source> -c:a libmp3lame -vcodec h264 -preset veryfast -f mp4 -crf 18 "nal-hrd=cbr" -b:v <sourceBitrate> -minrate <sourceBitrate> -maxrate <sourceBitrate> 2> log.txt output.mp4
但转换后的视频质量与源视频不同。我想保持与来源相同的质量。我怎样才能实现这个目标?
难道我做错了什么?
谢谢...
我是您链接的博客文章的作者。
不应使用 nal-hrd cbrwith mp4,因为avccMP4 中使用的格式不支持填充数据。
无填充数据。视频数据在文件格式中自然表示为可变比特率,如果需要则应填充以进行传输。填充数据 NAL 单元和填充数据 SEI 消息不得出现在文件格式存储的流中。
(ISO/IEC 14496-15 - 以 ISO 基础媒体文件格式传输网络抽象层 (NAL) 单元结构化视频)
正如您在我的示例中看到的,输出是 MPEG-TS,它使用附件 B。nal-hrd还需要设置vbv-bufsize。
| 归档时间: |
|
| 查看次数: |
21714 次 |
| 最近记录: |