東川印記

一本東川,笑看爭龍斗虎;寰茫兦者,度橫佰昧人生。

mac 使用 FFmpeg + Final Cut Pro + Compressor 视频转码 剪辑 合成

2021年4月25日星期日



尝试了 Final Cut Pro 和 iMovie,发现mkv不能直接导入

1,转换 vp9格式mkv 为 mp4

SENRSL:1-macos版ffmpeg命令 senrsl$ ./ffmpeg -i /Users/senrsl/Downloads/video/DEMO\ SAMSUNG\ 4K\ HDR\ 60\ FPS\ 2019.mkv -vcodec copy -acodec copy samsung4k.mp4

报错 

  Duration: 00:01:40.44, start: 0.000000, bitrate: 18305 kb/s
    Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv, bt709/unknown/unknown), 3840x2160, SAR 1:1 DAR 16:9, 59.94 fps, 59.94 tbr, 1k tbn, 1k tbc (default)
    Stream #0:1: Audio: opus, 48000 Hz, stereo, fltp (default)
[mp4 @ 0x7f9bf3811800] track 1: codec frame size is not set

改成

SENRSL:1-macosffmpeg命令 senrsl$ ./ffmpeg -i /Users/senrsl/Downloads/video/DEMO\ SAMSUNG\ 4K\ HDR\ 60\ FPS\ 2019.mkv -vcodec h264 -strict experimental samsung4k.mp4

ffmpeg version 4.3.1-tessus  https://evermeet.cx/ffmpeg/  Copyright (c) 2000-2020 the FFmpeg developers

  built with Apple clang version 11.0.0 (clang-1100.0.33.17)

  configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay

  libavutil      56. 51.100 / 56. 51.100

  libavcodec     58. 91.100 / 58. 91.100

  libavformat    58. 45.100 / 58. 45.100

  libavdevice    58. 10.100 / 58. 10.100

  libavfilter     7. 85.100 /  7. 85.100

  libswscale      5.  7.100 /  5.  7.100

  libswresample   3.  7.100 /  3.  7.100

  libpostproc    55.  7.100 / 55.  7.100

Input #0, matroska,webm, from '/Users/senrsl/Downloads/video/DEMO SAMSUNG 4K HDR 60 FPS 2019.mkv':

  Metadata:

    COMPATIBLE_BRANDS: isomiso2avc1mp41

    MAJOR_BRAND     : isom

    MINOR_VERSION   : 512

    ENCODER         : IDMmkvlib0.1

    LANGUAGE        : und

    HANDLER_NAME    : AudioHandler

  Duration: 00:01:40.44, start: 0.000000, bitrate: 18305 kb/s

    Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv, bt709/unknown/unknown), 3840x2160, SAR 1:1 DAR 16:9, 59.94 fps, 59.94 tbr, 1k tbn, 1k tbc (default)

    Stream #0:1: Audio: opus, 48000 Hz, stereo, fltp (default)

File 'samsung4k.mp4' already exists. Overwrite? [y/N] y

Stream mapping:

  Stream #0:0 -> #0:0 (vp9 (native) -> h264 (libx264))

  Stream #0:1 -> #0:1 (opus (native) -> aac (native))

Press [q] to stop, [?] for help

[libx264 @ 0x7fe5b380ea00] using SAR=1/1

[libx264 @ 0x7fe5b380ea00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2

[libx264 @ 0x7fe5b380ea00] profile High, level 5.2, 4:2:0, 8-bit

[libx264 @ 0x7fe5b380ea00] 264 - core 161 r3015 4c2aafd - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=18 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00

Output #0, mp4, to 'samsung4k.mp4':

  Metadata:

    COMPATIBLE_BRANDS: isomiso2avc1mp41

    MAJOR_BRAND     : isom

    MINOR_VERSION   : 512

    HANDLER_NAME    : AudioHandler

    LANGUAGE        : und

    encoder         : Lavf58.45.100

    Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 3840x2160 [SAR 1:1 DAR 16:9], q=-1--1, 59.94 fps, 60k tbn, 59.94 tbc (default)

    Metadata:

      encoder         : Lavc58.91.100 libx264

    Side data:

      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A

    Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)

    Metadata:

      encoder         : Lavc58.91.100 aac

frame= 6014 fps= 15 q=-1.0 Lsize=  214484kB time=00:01:40.42 bitrate=17496.5kbits/s speed=0.257x    

video:212782kB audio:1545kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.073109%

[libx264 @ 0x7fe5b380ea00] frame I:93    Avg QP:20.94  size:310429

[libx264 @ 0x7fe5b380ea00] frame P:1607  Avg QP:24.15  size: 71867

[libx264 @ 0x7fe5b380ea00] frame B:4314  Avg QP:27.00  size: 17044

[libx264 @ 0x7fe5b380ea00] consecutive B-frames:  3.2%  2.0%  4.1% 90.7%

[libx264 @ 0x7fe5b380ea00] mb I  I16..4: 21.7% 71.4%  6.9%

[libx264 @ 0x7fe5b380ea00] mb P  I16..4:  6.2% 10.0%  0.3%  P16..4: 39.2%  5.4%  2.1%  0.0%  0.0%    skip:36.9%

[libx264 @ 0x7fe5b380ea00] mb B  I16..4:  0.6%  1.0%  0.0%  B16..8: 26.4%  0.7%  0.1%  direct: 0.7%  skip:70.5%  L0:45.0% L1:53.6% BI: 1.4%

[libx264 @ 0x7fe5b380ea00] 8x8 transform intra:63.0% inter:90.6%

[libx264 @ 0x7fe5b380ea00] coded y,uvDC,uvAC intra: 32.0% 52.3% 11.8% inter: 4.1% 8.2% 0.1%

[libx264 @ 0x7fe5b380ea00] i16 v,h,dc,p: 22% 26%  8% 44%

[libx264 @ 0x7fe5b380ea00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 19% 24%  5%  6%  5%  6%  5%  5%

[libx264 @ 0x7fe5b380ea00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 21% 12%  6% 11%  8% 10%  6%  6%

[libx264 @ 0x7fe5b380ea00] i8c dc,h,v,p: 51% 21% 19%  8%

[libx264 @ 0x7fe5b380ea00] Weighted P-Frames: Y:0.6% UV:0.3%

[libx264 @ 0x7fe5b380ea00] ref P L0: 63.2% 13.5% 19.0%  4.2%  0.0%

[libx264 @ 0x7fe5b380ea00] ref B L0: 94.0%  5.0%  1.0%

[libx264 @ 0x7fe5b380ea00] ref B L1: 98.2%  1.8%

[libx264 @ 0x7fe5b380ea00] kb/s:17373.10

[aac @ 0x7fe5b381bc00] Qavg: 1591.327

SENRSL:1-macosffmpeg命令 senrsl$ 

 这个音频是双声道,转完还是两声道。。。。

2,转换 6声道ac3 mkv到 mp4

不转换不能导入。。。。

SENRSL:1-macos版ffmpeg命令 senrsl$ ./ffmpeg -i /Users/senrsl/Downloads/video/多声道/ac3-5.1_6声道.mkv -vcodec copy -acodec copy ac3.mp4

[mp4 @ 0x7fc36a81ee00] Non-monotonous DTS in output stream 0:0; previous: 1479346, current: 1478816; changing to 1479347. This may result in incorrect timestamps in the output file.

虽然chua的一下就转换出结果了,也能播,但是报了很多错

就试第二个转h264吧。。。。

奇怪,用 第二种 h264转换的 不能导入iMove和Final Cut,但是第一种copy的可以导入,但是导入后时间变成了3个多小时,也就是 转码有问题。。。。

发现AC3音频直接就不支持。。。。 https://support.apple.com/zh-hk/HT209029

但是 E-AC3是支持的。。。。


3,生成新的4K6声道 视频

直接导入视频的mp4,和随便一个能导入的6声道音频或视频。。。。

新建项目,新建时对编解码器和音频的配置就决定了音频输出的结果。。。。

  然后导入这俩视频,分离音频,各种 A、B快捷键 截取,新建复合视频

复合二字

共享,就可以预览到生成的结果了。。。。

MPEG-4 (QuickTime): 1.39 GiB, 1 分 40 秒
1 Video stream: AVC
1 Audio stream: AAC LC


4,导出HLS流文件

文件 -> 共享 -> 导出用于Http 实时流化

也没个进度。。。。


5,导出4K AC3格式视频

从官方开始找 https://support.apple.com/zh-cn/guide/final-cut-pro/vere9bbb1cc4/mac

意思就是 如果要导出AC3格式,需要再单独买个 Compress的东西。。。。

入口在 文件 -> 发送到Compress。。。。

下个Compress

然后 从 Final Cut Pro 直接发送批处理到了Compress软件

底下源文件是不行的,得输出个本地目录。。。。

结果发现,配置三项,输出就是三个文件。。。。。

音频和视频竟然是分开的。。。。

Compress导出的,是纯ac3,不带视频的。。。。

Final Cut Pro 导出的mov文件,是音视频都带,但它没有ac3格式。。。。

综上,这玩意有啥用。。。。

--
senRsl
2021年04月21日10:44:32

没有评论 :

发表评论