使用FFmpeg转换蓝光格式资源

一、搜索到的资料

H264 默认行为

$ ffmpeg -i input.m2ts output.mp4

H265 压缩率更高

$ ffmpeg -fflags +discardcorrupt -i input.m2ts -c:a copy -bsf:a aac_adtstoasc -c:v libx265 -crf 22 -tag:v hvc1 output.mp4

  • c:a copy: 按照原格式复制音频不进行重新编码
  • c:v libx265: 用H.265对视频进行编码
  • tag:v hvc1: 将FourCC设置为hvc1。就可以在IOS和MACOS上使用
  • crf 22: Constant Rate Factor (CRF)设置为22。H.265默认设置为28。
  • -fflags +discardcorrupt, -bsf:a aac_adtstoasc : 禁止复制音频流时发生的错误。 没有它,转换为 MP4 时会发生 AAC 比特流错误。

二、实践:

由于最终转换格式为MP4的话,有些音频格式就不支持,比如5.1声道(ac3).

我以我本地的"我不是药神.m2ts"为例,文件大小:32.2GB,媒体信息如下:

1.第一次尝试,转换指令:

ffmpeg -fflags +discardcorrupt -i 我不是药神.m2ts -c:a copy -c:v copy output.mkv

转换之后,大约27.1GB,媒体信息如下:

以上指令保留了原来的视频轨道和音频的第一个轨道,视频的压缩率没有达到预期。

2.第二次尝试,重新调整指令:

ffmpeg -i input.mt2s -scodec copy -acodec copy -vcodec copy -f matroska input.mkv

上述指令,"-scodec copy"复制字幕流,"-acodec copy"复制音频,"-vcodec copy"复制视频流,转换之后,大约27.1GB,媒体信息如下:

调整之后的指令和第一次是相同的效果。

3.第三次尝试,指令为:

ffmpeg -threads 6 -i 我不是药神.m2ts -vcodec libx264 -crf 21 -preset veryslow -tune film -acodec ac3 -strict experimental -map 0:0 -map 0:1 -map 0:2 output.mkv

运行后的结果:

文件大小为5.4GB,同时发现源文件包含一条ac3的音频流,不过通过上述测试也可以确定truehd是可以转换为ac3的。

还有就是使用"-preset veryslow"指令会导致转换速度缓慢。主要调节编码速度和质量的平衡,有ultrafast、superfast、veryfast、faster、fast、medium、slow、slower、veryslow、placebo这10个选项,从快到慢。

4.第四次尝试:重新调整指令,复制一条视频流(h264),一条音频流(ac3),硬字幕

ffmpeg -threads 4 -i 我不是药神.m2ts -vf subtitles=chs.srt -vcodec libx264 -tune film -acodec ac3 -strict experimental -map 0:0 -map 0:2 output.mkv

运行后文件大小为3.5GB,转码效果比较理想。媒体信息如下:

三、音轨格式转换实践:

1.TRUE HD->AC3:通过

科普:TRUE HD

TRUE HD是杜比专为高清影碟开发的无损压缩音轨格式,最高可支持多达八个分离的24bit/96 kHz全频带声道,在蓝光影碟中的码率最高为18Mbps。杜比宣称TRUE HD为100%无损音频,因此除了比同规格LCPM更节省带宽外,还可以加入对白和整体音量控制,实现比如夜间影院功能,它的内核还带有一条640K码率的AC3 5.1音轨数据,即便整部影片只有TRUE HD音轨,对老功放通过光纤传输也可以实现5.1音效。

2.DTS-HD MA -> AC3:通过

科普:DTS-HD Master Audio

DTS-HD Master Audio是无损压缩音轨,DTS宣称它是"bit for bit"的完整再现录音母带效果,是完全无损压缩,在蓝光影碟中最高码率可达24.5Mbps。DTS HD内核也带有1.5Mbps码率的DTS 5.1音轨数据,因此也可以实现通过SPDIF传输到老功放实现5.1音频。

相关推荐
be or not to be9 小时前
HTML入门系列:从图片到表单,再到音视频的完整实践
前端·html·音视频
LCG米9 小时前
基于ESP32-S3与OV5640的高清低延迟无线视频传输系统构建教程
音视频
Angelina_Jolie11 小时前
基于 Retinex 的 TempRetinex:适用于不同光照条件下低光视频的无监督增强方法
计算机视觉·音视频
源之缘-专注WPF开发14 小时前
全栈开发实战:WPF+FFmpeg+GIS,打造工业级雷达探测终端
ffmpeg·wpf·gis
山海青风14 小时前
藏文TTS介绍:6 MMS 项目的多语言 TTS
人工智能·python·神经网络·音视频
Everbrilliant8917 小时前
FFmpeg解码OpenSL、ANativeWindow播放实现音视频同步
ffmpeg·音视频·opensl音视频同步播放·音视频同步播放·唇音同步·音视频时钟漂移·播放时钟同步
myzzb18 小时前
python调用ffmpeg.exe封装装饰类调用
python·学习·ffmpeg·开发
一点晖光19 小时前
ffmpeg实现图片转视频效果
ffmpeg·音视频
咕噜船长19 小时前
使用Qwen3-VL模型批量标注视频内容(视频理解)
人工智能·pytorch·深度学习·音视频·视频
音视频牛哥19 小时前
内网RTSP直连 + 公网RTMP上云:基于SmartMediakit的 Android双引擎架构设计
音视频·安卓rtsp服务器·安卓轻量级rtsp服务·安卓rtsp摄像头推流·安卓摄像头rtmp推流·安卓 camera2 rtsp·安卓camera2 rtmp