我有一个时长为一小时的 4K 视频,大小为 10 GB。我想尝试使用 FFmpeg 重新编码为 HEVC 以节省空间,这是我以前从未尝试过的事情。
但是,我将容器格式从 .m4v 切换到 .mp4,我没有意识到 QuickTime Player 无法播放;它仅支持 .mov 容器内的 HEVC 流。VLC 可以播放 .mp4,因此转换似乎成功了。
因此我尝试将容器格式切换为 .mov,但 QuickTime 仍然无法打开它。
我是否遗漏了其他步骤?转换过程持续了一整夜,因此如果有办法简单地更改容器,我宁愿不再进行转换。
$ ffmpeg -i otomatsuri.m4v -c:v libx265 -preset medium -crf 28 -c:a aac -b:a 128k otomatsuri.mp4 ffmpeg 版本 3.4.1 版权所有 (c) 2000-2017 FFmpeg 开发人员 使用 Apple LLVM 版本 9.1.0(clang-902.0.30)构建 配置:--prefix=/usr/local/Cellar/ffmpeg/3.4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma libavutil 55. 78.100 / 55. 78.100 libavcodec 57.107.100 / 57.107.100 libavformat 57. 83.100 / 57. 83.100 libavdevice 57. 10.100 / 57. 10.100 libavfilter 6.107.100 / 6.107.100 libavresample 3.7.0 / 3.7.0 libswscale 4. 8.100 / 4. 8.100 libswresample 2. 9.100 / 2. 9.100 libpostproc 54. 7.100 / 54. 7.100 输入 #0, mov,mp4,m4a,3gp,3g2,mj2, 来自‘otomatsuri.m4v’: 元数据: 主要品牌:M4V 次要版本:1 兼容品牌:M4V M4A mp42isom 创作时间:2018-02-09T09:37:48.000000Z 编码器:Lavf57.83.100 时长:00:53:53.00,开始:0.000000,比特率:24377 kb/s 流#0:0(und):音频:aac (LC) (mp4a / 0x6134706D),32000 Hz,单声道,fltp,95 kb/s(默认) 元数据: 创作时间:2018-02-09T09:37:48.000000Z handler_name :核心媒体音频 流#0:1(und):视频:h264(高)(avc1 / 0x31637661),yuv420p,2880x2160 [SAR 4:3 DAR 16:9],24278 kb/s,24 fps,24 tbr,60k tbn,48 tbc(默认) 元数据: 创作时间:2018-02-09T09:37:48.000000Z handler_name:核心媒体视频 流映射: 流 #0:1 -> #0:0 (h264 (本机) -> hevc (libx265)) 流 #0:0 -> #0:1 (aac (原生) -> aac (原生)) 按 [q] 停止,按 [?] 获取帮助 x265 [信息]: HEVC 编码器版本 2.6 x265 [信息]: 构建信息 [Mac OS X][clang 9.0.0][64 位] 8 位+10 位+12 位 x265 [信息]: 使用 CPU 功能:MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 x265 [信息]:主配置文件,Level-5(主层) x265 [信息]: 使用 4 个线程创建的线程池 x265 [信息]: 切片 : 1 x265 [信息]: 框架线程/池功能: 2/wpp(34 行) x265 [信息]: 编码 QT: 最大 CU 大小,最小 CU 大小:64/8 x265 [信息]: 残差 QT: 最大 TU 尺寸,最大深度:32 / 1 帧间 / 1 帧内 x265 [信息]: ME / 范围 / 亚像素 / 合并 : 十六进制 / 57 / 2 / 2 x265 [信息]: 关键帧最小值 / 最大值 / 场景切换 / 偏差:24 / 250 / 40 / 5.00 x265 [信息]: 前瞻 / bframes / badapt : 20 / 4 / 2 x265 [信息]: b-金字塔/权重p/权重b : 1 / 1 / 0 x265 [信息]: 参考 / ref-limit cu / 深度 : 3 / 开 / 开 x265 [信息]: AQ: 模式 / str / qg-size / cu-tree : 1 / 1.0 / 32 / 1 x265 [信息]: 速率控制 / qCompress : CRF-28.0 / 0.60 x265 [信息]: 工具: rd=3 psy-rd=2.00 rskip signhide tmvp strong-intra-smoothing x265 [信息]: 工具: lslices=8 去块 sao 输出 #0,mp4,到‘otomatsuri.mp4’: 元数据: 主要品牌:M4V 次要版本:1 兼容品牌:M4V M4A mp42isom 编码器:Lavf57.83.100 流#0:0(und):视频:hevc (libx265) (hev1 / 0x31766568),yuv420p,2880x2160 [SAR 4:3 DAR 16:9],q=2-31,24 fps,12288 tbn,24 tbc(默认) 元数据: 创作时间:2018-02-09T09:37:48.000000Z handler_name:核心媒体视频 编码器:Lavc57.107.100 libx265 流#0:1(und):音频:aac (LC) (mp4a / 0x6134706D),32000 Hz,单声道,fltp,128 kb/s(默认) 元数据: 创作时间:2018-02-09T09:37:48.000000Z handler_name :核心媒体音频 编码器:Lavc57.107.100 aac 帧=77592 fps=2.8 q=-0.0 Lsize= 1670478kB 时间=00:53:52.93 比特率=4232.9kbits/s 速度=0.117x 视频:1624946kB 音频:43103kB 字幕:0kB 其他流:0kB 全局标头:2kB 多路复用开销:0.145604% x265 [信息]: 帧 I: 738, 平均 QP:25.05 kb/s: 9283.77 x265 [信息]: 帧 P: 20942, 平均 QP:27.55 kb/s: 6165.77 x265 [信息]: 帧 B: 55912, 平均 QP:31.10 kb/s: 3280.92 x265 [信息]: 加权 P 帧: Y:21.5% UV:15.2% x265 [信息]: 连续 B 帧:7.8% 10.9% 15.9% 46.2% 19.1% 编码 77592 帧耗时 27541.51 秒(2.82 fps),4116.63 kb/s,平均 QP:30.09 [aac @ 0x7fd6d7801e00] Qavg:58695.016
$ ffmpeg -i otomatsuri.mp4 -c 复制 -map 0 otomatsuri.mov ffmpeg 版本 3.4.1 版权所有 (c) 2000-2017 FFmpeg 开发人员 使用 Apple LLVM 版本 9.1.0(clang-902.0.30)构建 配置:--prefix=/usr/local/Cellar/ffmpeg/3.4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma libavutil 55. 78.100 / 55. 78.100 libavcodec 57.107.100 / 57.107.100 libavformat 57. 83.100 / 57. 83.100 libavdevice 57. 10.100 / 57. 10.100 libavfilter 6.107.100 / 6.107.100 libavresample 3.7.0 / 3.7.0 libswscale 4. 8.100 / 4. 8.100 libswresample 2. 9.100 / 2. 9.100 libpostproc 54. 7.100 / 54. 7.100 输入 #0, mov,mp4,m4a,3gp,3g2,mj2, 来自‘otomatsuri.mp4’: 元数据: 主要品牌: isom 次要版本:512 兼容品牌: isomiso2mp41 编码器:Lavf57.83.100 时长:00:53:53.00,开始:0.000000,比特率:4232 kb/s 流#0:0(und):视频:hevc (主) (hev1 / 0x31766568)、yuv420p(tv,渐进式)、2880x2160 [SAR 4:3 DAR 16:9]、4117 kb/s、24 fps、24 tbr、12288 tbn、24 tbc (默认) 元数据: handler_name : 视频处理程序 流#0:1(und):音频:aac (LC) (mp4a / 0x6134706D),32000 Hz,单声道,fltp,109 kb/s(默认) 元数据: handler_name : SoundHandler 输出 #0,mov,到‘otomatsuri.mov’: 元数据: 主要品牌: isom 次要版本:512 兼容品牌: isomiso2mp41 编码器:Lavf57.83.100 流#0:0(und):视频:hevc (主) (hev1 / 0x31766568),yuv420p(tv,渐进式),2880x2160 [SAR 4:3 DAR 16:9],q=2-31,4117 kb/s,24 fps,24 tbr,12288 tbn,12288 tbc (默认) 元数据: handler_name : 视频处理程序 流#0:1(und):音频:aac (LC) (mp4a / 0x6134706D),32000 Hz,单声道,fltp,109 kb/s(默认) 元数据: handler_name : SoundHandler 流映射: 流 #0:0 -> #0:0 (复制) 流 #0:1 -> #0:1 (复制) 按 [q] 停止,按 [?] 获取帮助 帧=77592 fps=18819 q=-1.0 Lsize= 1670479kB 时间=00:53:52.90 比特率=4232.9kbits/s 速度= 784x 视频:1624946kB 音频:43103kB 字幕:0kB 其他流:0kB 全局标头:2kB 多路复用开销:0.145614%
答案1
有些播放器依靠元数据来识别文件内容是否可以使用。QT 属于这一类。正如评论中所证实的,分配编解码器标签允许hvc1
在 QT 中播放,
ffmpeg -i otomatsuri.mp4 -c copy -map 0 -vtag hvc1 otomatsuri.mov