V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LoneFireBlossom
V2EX  ›  macOS

求推荐 Mac 上好用的视频转码软件

  •  
  •   LoneFireBlossom · 2021-06-23 18:08:18 +08:00 · 9183 次点击
    这是一个创建于 1284 天前的主题,其中的信息可能已经有所发展或是发生改变。
    背景:
    1. 有些视频用 iina 播放时,调节进度条会很卡顿(从网易云课堂下载的视频),所以需要转码。
    2. 有些视频我需要转码成 iOS 的相册能直接播放的那种,批量、很多、视频的分辨率不尽相同。
    3. intel mac

    需求:
    0. 批量转码后视频音频正常。
    1. 批量转码后,分辨率保持不变,比如原来 1080p 的还是 1080p,原来 720p 的还是 720p 。
    2. 批量转码后的视频,分别各自保存到各自的原目录。
    3. 如果能利用独显当然更好,没有也行。

    现状:
    1. 之前在 Windows 上都是用小丸工具箱,挺好用的。
    2. 几个星期来,我搜索发现主要是推荐 handbrake 和 permute 。于是都尝试过发现不满足上述两点要求,也可能是我不会用不知道咋设置。
    3. 目前是装了个 windows 虚拟机继续用小丸工具箱,但是虚拟机效率太低了,还是想用 Mac 自己的。
    4. ffpmeg,额,这个我不太懂,搜了一下好像不能满足我的需求……

    PS:感觉换了 Mac 之后还有好多问题,搜索也找不到好的解决方案……不敢一口气发好多贴,过一段时间再发下一个,多谢各位站友帮助😭
    第 1 条附言  ·  2021-06-24 19:00:06 +08:00
    截止到 #63,
    总结一下,Mac 平台上最好用的还是 handbrake 。( ffmpeg 这个我不太懂)
    需求 1 可以用 #28 的方法解决;
    需求 2 没有办法,只能妥协。虽然其它有的软件这条能满足,但转码质量等方面比 handbrake 差好多。
    78 条回复    2024-08-05 12:09:02 +08:00
    acoldfox
        1
    acoldfox  
       2021-06-23 18:16:43 +08:00
    Permute
    lancelock
        2
    lancelock  
       2021-06-23 18:20:59 +08:00
    小丸工具箱这些工具也都是对 ffmpeg 的封装而已,怎么会不满足需求呢
    wangkun025
        3
    wangkun025  
       2021-06-23 18:27:21 +08:00
    花 200 块钱悬赏个 ffmpeg 的脚本,哈哈。
    利益无关。我不会写 ffmpeg 脚本。
    LoneFireBlossom
        4
    LoneFireBlossom  
    OP
       2021-06-23 18:33:57 +08:00
    @acoldfox
    这个我为了满足「视频分辨率保持不变」,所以预设的视频清晰度选择的是「复制」。有的时候两秒就完成任务了(我不懂视频编码不知道是什么情况),然后视频播放也顺畅了也能在相册里直接播放了;但有的时候不行,处理完之后还是不能在相册里播放。所以就没法用……
    LoneFireBlossom
        5
    LoneFireBlossom  
    OP
       2021-06-23 18:37:52 +08:00
    @lancelock 我不懂代码,只是看了一下 ffpmeg 好像不能实现「分别各自保存到各自的原目录」,或者说很麻烦吧?
    比如一套教程分 10 章,每章一个文件夹,每个文件夹下几个视频,那光是往脚本里粘贴目录感觉就挺麻烦的= =

    实现想来应该是能实现的,但我这种人肯定搞不定……
    LoneFireBlossom
        6
    LoneFireBlossom  
    OP
       2021-06-23 18:41:37 +08:00
    PS:保持原分辨率不变是因为,如果统一分辨率,那么,
    设置统一 720p,那么 1080p 视频变成 720p 清晰度确实变差了;
    设置统一 1080p,那么 720p 视频变成 1080p,实际上观感没怎么提升,但体积却会大不少。
    neteroster
        7
    neteroster  
       2021-06-23 18:42:31 +08:00
    @LoneFireBlossom 分别保存到原目录不是 ffpmeg 的工作啊。写个脚本这个需求很简单就实现了。
    neteroster
        8
    neteroster  
       2021-06-23 18:42:55 +08:00
    @neteroster *ffmpeg
    LoneFireBlossom
        9
    LoneFireBlossom  
    OP
       2021-06-23 18:44:41 +08:00
    @neteroster 😂我也希望我会写脚本
    顺带 写脚本怎么入门……(感觉和主题无关了 等我学完几个月过去了
    shpkng
        10
    shpkng  
       2021-06-23 18:48:58 +08:00
    还是用 ffmpeg 好,用那个 python 的 binding 就很简单了
    supermoonie
        11
    supermoonie  
       2021-06-23 18:49:18 +08:00 via iPhone   ❤️ 1
    可以提具体的需求给我,免费帮你做一个
    lancelock
        12
    lancelock  
       2021-06-23 18:57:48 +08:00
    ffmpeg 简单的用就是命令行工具,设置下参数就行,不用跑啥脚本。复杂点需求说实话自己写一个得了,mac 上我确实没见过什么好用的工具
    lancelock
        13
    lancelock  
       2021-06-23 18:59:00 +08:00
    @LoneFireBlossom 复制就是换封装,没有重新编码,简单来说就是换个壳,当然快了
    ck65
        14
    ck65  
       2021-06-23 18:59:36 +08:00   ❤️ 3
    shyling
        15
    shyling  
       2021-06-23 19:08:27 +08:00
    compress
    thx2u
        16
    thx2u  
       2021-06-23 19:26:03 +08:00 via iPhone
    handbreak
    weak
        17
    weak  
       2021-06-23 19:30:03 +08:00 via iPhone
    专业做视频的告诉你 Adobe media encode 好用
    LoneFireBlossom
        18
    LoneFireBlossom  
    OP
       2021-06-23 20:33:54 +08:00
    @supermoonie 谢谢,我的需求如主楼所说,再详细一下的话就是,

    第一,每当我发现好的视频教程就会把它下载下来看。所以,不知视频转码用的脚本能不能实现「改一下输入输出目录的地址就能用」?能的话就太好了,不能的话脚本只能用一次感觉就没多大意义。

    第二,将各种可能的视频编码转码成 iOS 相册能直接播放的那种:
    1. 源文件基本上是从网上下载的教程类视频,所以想必编码不会很奇怪。至少应该没有 10bit 之类的吧,别的我都不懂了。
    2. 生成文件的编码,相册能直接播放的我只知道 x264 和 x265 正常的都能播放,更详细的设置不懂,大概设置的很正常就能播放吧。

    第三,批量转码后各自的分辨率保持不变,比如队列里输入两个视频,一个是 1280*800 那么输出就是 1280*800,另一个是 1920*1200 那么输出就是 1920*1200 。

    第四,生成的文件后缀名是 mp4,文件名都是各自源文件的名字后面加“_batch”。

    第四,批量转码后的视频,分别各自保存到各自源文件所在的目录。

    第五,如果能利用独显当然更好,我用的是 AMD Radeon Pro 5600M 。(我下午搜的时候看到说 Catalina 上一个独显的语句有效,但是 Big Sur 上就无效了……也是醉 我还想升级 Monterey 呢)



    提了一大堆要求(应该说全了),我不知道这能不能用脚本实现 😂
    zqhong
        19
    zqhong  
       2021-06-23 20:38:29 +08:00   ❤️ 3
    最近用过 ffmpeg,说下我的想法。

    考虑到兼容性,建议视频编码用 H.264 ,音频编码用 AAC 。
    (参考网上的资料,非专业,欢迎指正)

    ffmpeg macOS 二进制版下载:
    https://evermeet.cx/ffmpeg/

    相关脚本:
    https://gist.github.com/zqhong/fe8f55bf85e18263306cd1379980c0a8
    (本地测试过,但不熟悉 Linux,欢迎指正)

    脚本使用:
    bash -x find-exec-ffmpeg.sh

    ffmpeg 的资料可以看这里:
    参考视频: https://www.bilibili.com/video/av40146374
    官方文档: http://ffmpeg.org/ffmpeg-all.html
    LoneFireBlossom
        20
    LoneFireBlossom  
    OP
       2021-06-23 20:41:30 +08:00
    @lancelock 感觉我这其实也不算什么复杂的需求= =
    保持原分辨率不变应该很正常,但是 handbrake 我就没找到这个选项,真是服,源文件是 1920*1200 的它就改成 1920*1080,别的再比如 4096*2304,我总不能每个视频都调一遍分辨率设置……

    permute 是「视频清晰度」的选项中有低 /中 /高 /极高 /复制等几个选项。从选项的名称来看应该是说分辨率的,所以照我的理解,「复制」的意思就是“源文件分辨率是多少,生成的就是多少”。
    但其实不是,实际的情况肯定如你所说。我以前只知道不同后缀名的视频换封装,比如 mkv 换到 mp4,但这视频是我从网易云课堂下载的,本来后缀名就是 mp4 (也就是说并非是我手动修改了后缀名),然后这都能换封装成另一个 mp4,也是神奇,不懂。
    steveshi
        21
    steveshi  
       2021-06-23 20:44:10 +08:00
    ffwork
    LoneFireBlossom
        22
    LoneFireBlossom  
    OP
       2021-06-23 20:44:23 +08:00
    @ck65 @thx2u 如主楼所说,我尝试过,但是不满足 1,2 两点需求,我找来找去没找到设置项。
    需求 1:确实是没找到。
    需求 2:只能输出文件统一放在一个目录下。
    LoneFireBlossom
        23
    LoneFireBlossom  
    OP
       2021-06-23 20:46:02 +08:00
    @shyling 我搜了一下,你说的是苹果自家的 Compressor 吗?
    Tink
        24
    Tink  
       2021-06-23 20:47:08 +08:00 via Android   ❤️ 1
    permute
    LoneFireBlossom
        25
    LoneFireBlossom  
    OP
       2021-06-23 21:07:37 +08:00
    @weak 谢谢,试了一下不行,导入文件说格式不支持(大意如此)。
    Gawain
        26
    Gawain  
       2021-06-23 21:37:42 +08:00
    Permute+1
    直接选转为 MP4 就好,测试一下,1080P 和 4k 一起转换,分辨率未改变。

    另外,小丸工具可以继续使用
    需要用到 CrossOver

    封装转换 mp4 提取视频音频 都可以
    但是第一页“视频” 不知道为什么提示 unknow input
    基本没用过小丸工具箱的压制功能,不太清楚到底什么原因

    https://imgur.com/OlpbRBP.jpg
    zqhong
        27
    zqhong  
       2021-06-23 22:22:23 +08:00
    #19

    重新完善了下,以 gist 的说明为准,评论有简单的安装命令和使用示例。请忽略 19 楼的脚本使用说明。

    @LoneFireBlossom
    wydinhk
        28
    wydinhk  
       2021-06-23 23:03:49 +08:00
    @LoneFireBlossom 用 handbrake 想要分辨率不变很简单,就是把 Resolution Limit 设置成最高 8K,这样就不会出现 1920*1200 因为限制 1080p 而被「降采样」的情况。你可以按自己的需求做一个 Preset 并设置成默认,这样每次打开就不用再调了。

    关于其他参数对画质、输出文件大小、压制时间的影响,这篇文档有详细的比较说明: https://handbrake.fr/docs/en/1.3.0/technical/performance.html

    如果不在意较高的输出码率,有时 macOS 自带的视频硬件编码是不错的选择,只要你下载的视频是标准的 h264 、h265 编码,在搭载 T2 芯片或 M1 Mac 上都能直接调用硬件编码器,不会狂吃 CPU 和发热。方法是右击视频-服务-编码所选视频文件,没有进度提示。不过对于 avi 、wmv 这种老格式无效。
    LoneFireBlossom
        29
    LoneFireBlossom  
    OP
       2021-06-23 23:07:26 +08:00
    @Gawain 谢谢,能否分享一下 permute 的设置方法?

    我现在是用 parallels 使用小丸工具箱,如主楼所说,主要是嫌慢。用 handbrake 的时候 CPU 占用率能到 90%( GPU 占用率好像是 20%多一点),用小丸工具箱和 permute CPU 占用率也就 30%多。
    LoneFireBlossom
        30
    LoneFireBlossom  
    OP
       2021-06-23 23:15:55 +08:00
    @wydinhk 谢谢!
    我明天试试 handbrake 。
    另外问一下 handbrake 对于前述的需求 3,「批量转码后的视频,分别各自保存到各自的原目录」有方法么😂



    刚才试了 Mac 自带的,有的视频可以,有的视频不行告诉我 avconvert: unable to read file:///Users/lonefireblossom/Downloads/XXXXX.mp4 。我也不知道什么是标准的 x264,只知道这是网易云课堂上下载的视频。用 mediainfo 看了一下是这样的:

    编码函数库 : x264 core 150
    编码设置 : 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=8 / lookahead_threads=1 / 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=abr / mbtree=1 / bitrate=2500 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
    LoneFireBlossom
        31
    LoneFireBlossom  
    OP
       2021-06-23 23:17:44 +08:00
    @steveshi 谢谢,我晚上在尝试,结果 homebrew 安装不上……还在研究安装中。回到宿舍想了一下可能是是插上有线网就终端连不上 GitHub 了( chrome 是可以的)。明天我再去实验室试试
    wydinhk
        32
    wydinhk  
       2021-06-24 00:17:30 +08:00
    @LoneFireBlossom 保存到原目录,没在 handbrake 里发现过,不过如果你非常需要批量转,或许 permute 确实更合适一点。

    上面写系统自带编码流程,忘了强调只是适合「部分」视频,具体什么原因也没研究过。不过 handbrake 是可以选择调用 videotoolbox 的,也就是苹果的硬件编码 api,但会吃一定的 CPU 。
    chonger
        33
    chonger  
       2021-06-24 01:16:07 +08:00
    VideoProc 啊,支持硬件加速,装黑苹果的没不认识的,就用它来测显卡支不支持硬件加速
    X-Force
        34
    X-Force  
       2021-06-24 02:00:42 +08:00
    HandBrake - 开源免费视频压缩 /万能格式转换工具神器 (跨平台转码软件)
    https://www.iplaysoft.com/handbrake.html
    xuegy
        35
    xuegy  
       2021-06-24 05:20:36 +08:00 via iPhone
    首先 IINA 播放卡顿就离谱
    explore365
        36
    explore365  
       2021-06-24 06:30:08 +08:00
    ffmpeg
    yangxin0
        37
    yangxin0  
       2021-06-24 08:41:31 +08:00 via iPhone
    @chonger ffmpeg 也支持显卡加速
    he110comex
        38
    he110comex  
       2021-06-24 09:09:36 +08:00   ❤️ 1
    我用的「土法炼钢」:

    上传到 YouTube 自己的频道(设为私有)。

    YouTube 会帮你转码( 4K 以下为.mp4 格式),转好之后下载回来就行了。
    supermoonie
        39
    supermoonie  
       2021-06-24 09:32:30 +08:00 via iPhone
    @LoneFireBlossom 留一下联系方式,做得好你就用,做不好我就当积累经验了🌚
    Enlightener
        40
    Enlightener  
       2021-06-24 09:35:44 +08:00 via iPhone
    影视民工表示用 Adobe ME 就对了,不嫌麻烦达芬奇 17 也可以呀,或者 compress,都可以。专业软件虽然麻烦点,但是可选择空间肯定比便捷的一键式程序大的多。
    BeliefanX
        41
    BeliefanX  
       2021-06-24 11:04:29 +08:00
    Permute
    kungfuchicken
        42
    kungfuchicken  
       2021-06-24 11:18:42 +08:00
    https://apps.apple.com/cn/app/id1549345048
    楼主试试这个播放器看看?
    wangyzj
        43
    wangyzj  
       2021-06-24 11:24:45 +08:00
    Wondershare Video Converter
    Total Video Converter
    都可以
    minipupil
        44
    minipupil  
       2021-06-24 11:39:28 +08:00
    FFmpeg
    PaperWing
        45
    PaperWing  
       2021-06-24 12:19:24 +08:00 via iPhone
    可以试下 VideoProc,经常限免。比 handbrake 强点,有一个视频 handbrake 老是转码失败,用 VideoProc 就能转成
    Lemeng
        46
    Lemeng  
       2021-06-24 12:27:25 +08:00
    用过 FF,以前在工作机上
    pperlee
        47
    pperlee  
       2021-06-24 14:03:47 +08:00
    我试过用 iina 播放自己制作的 4k 视频卡顿,然后设置改成软解就不卡了。
    app store 里面有个 total video converter pro,限免的时候下载了,适合小白转码。
    如果没有拿到限免,前面有人提到的 handbrake 也是可以的,就是设置没有那么小白,默认 preset 不多。
    adobe media encoder 也是可以的,默认设置也不少。
    pperlee
        48
    pperlee  
       2021-06-24 14:06:45 +08:00
    哦,看了你的后续回答,用 adobe media encoder 吧:
    1.可以视频导出在原目录,设置保存在原视频旁即可。
    2.可以按原大小输出视频,也是视频导出设置里面可以定义(默认定义)。
    MaverickLee
        49
    MaverickLee  
       2021-06-24 14:13:25 +08:00
    Adobe 的 AME
    leeolsen
        50
    leeolsen  
       2021-06-24 14:26:22 +08:00
    达芬奇 正版 免费
    要啥有啥
    leeolsen
        51
    leeolsen  
       2021-06-24 14:26:41 +08:00
    @leeolsen 哦,没看到批量的需求
    aero99
        52
    aero99  
       2021-06-24 15:35:40 +08:00
    fcpx 的伴侣视频转码 compressor 啊
    LoneFireBlossom
        53
    LoneFireBlossom  
    OP
       2021-06-24 15:35:53 +08:00
    @chonger @PaperWing
    感谢,试了一下,VideoProc 测试能开启硬件加速,但是实际转换的时候并没有硬件加速。
    而且它也没有「批量转码后的视频,分别各自保存到各自的原目录」的功能(或者我没找到)。
    既然这样那我感觉它就不如 handbrake 了。

    @X-Force 感谢,主楼已经说过了。目前感觉如果找不到好用的就先用这个。

    @kungfuchicken 感谢,我想不是播放器的问题,因为我在 parallels win10 虚拟机里用 potplayer 播放该视频也会卡。iina 是调进度后要等好几秒才开始播放; potplayer 是调进度之后只有音频还在播,画面暂停了,过几秒画面的进度才追上来。

    @wangyzj
    感谢,Wondershare Video Converter 引用一下我在某网站看到的评论,“而这个会损失画质而且还有可能产生横纹”。我就不自己尝试了……
    Total Video Converter,这个界面也太古老了(另外竟然 cmd+,不能打开偏好设置,这是得多么上古的软件)。它也没有「批量转码后的视频,分别各自保存到各自的原目录」的功能。既然这样那我感觉它就不如 handbrake 了。


    @Enlightener @MaverickLee @pperlee 感谢,如 #25 所说,导入有的视频,软件告诉我格式不支持。
    LoneFireBlossom
        54
    LoneFireBlossom  
    OP
       2021-06-24 15:38:14 +08:00
    @Enlightener @aero99
    compress 应该就是指 compressor 吧,好像就是 final cut pro x 内置的功能?
    我在 #23 的时候尝试过,下载了一个 PCPX 测试版。和 adobe media encoder 一样,导入有的视频,软件告诉我格式不支持。
    LoneFireBlossom
        55
    LoneFireBlossom  
    OP
       2021-06-24 15:46:08 +08:00
    另外我还发现一个 Movavi Video Converter 2021 。
    从某网站里复制的评论:这款软件是 Movavi 公司买的最好的,怎么好像中国人很少知道,试过无数款转码压制软件,在 Mac 上只有 Movavi Video Converter 和 HandBrake 最好,Movavi 速度快 画质损不明显 操作简单 上手快,HandBrake 速度慢一点但画质损失更少,但是目前没有汉化设置项比较多,上手难一点。其它的画质损失明显,容易出现横纹(应该是没有反交错功能),速度还慢,没有什么可取之处。


    我尝试了一下,
    满足要求 1,2 。
    但是在帧率方面不能默认设定为峰值帧率,导致每一项视频都得手动更改设置。
    (如果使用固定帧率,生成的视频体积会变大很多)
    所以还是不用了。
    littlewing
        56
    littlewing  
       2021-06-24 15:57:46 +08:00
    ffmpeg + shell or py
    imsoso
        57
    imsoso  
       2021-06-24 16:03:37 +08:00
    支持国内万兴的产品啊,人家做这个起家的
    LoneFireBlossom
        58
    LoneFireBlossom  
    OP
       2021-06-24 16:15:04 +08:00
    @imsoso #57 这个在国外叫 Wondershare Video Converter,我在 #53 下载过,然后见到有人说“而这个会损失画质而且还有可能产生横纹”。我就不自己尝试了……
    psklf
        59
    psklf  
       2021-06-24 17:07:11 +08:00
    当然是 ffmpeg
    webgeekman
        60
    webgeekman  
       2021-06-24 17:33:51 +08:00
    强烈推荐 Handbreak !!!
    yulgang
        61
    yulgang  
       2021-06-24 17:35:58 +08:00
    没整过,我这有个将视频转成 mp3,并将音量增强的脚本,或许你以后会用到吧 。

    pv source.avi | ffmpeg -i pipe:0 -v warning -q:a 0 -map a -filter: "volume = 20dB" -y filename.mp3
    LoneFireBlossom
        62
    LoneFireBlossom  
    OP
       2021-06-24 18:29:55 +08:00
    @supermoonie #39 感谢 我试试 base64 是这么用的么?
    QQ
    NzUzODMzNTIz
    LoneFireBlossom
        63
    LoneFireBlossom  
    OP
       2021-06-24 18:57:45 +08:00
    @zqhong #27 谢谢,搞明白之后试了一下发现比之前的 mp4 还大了,而且还不清晰😂
    Enlightener
        64
    Enlightener  
       2021-06-24 19:16:57 +08:00 via iPhone
    要具体问题具体分析,网易云课堂下载的是什么格式啊? 一般主流编码这几个软件都可以转码
    zqhong
        65
    zqhong  
       2021-06-24 19:23:29 +08:00
    #63

    @LoneFireBlossom

    文件处理后变大的问题,可以考虑压缩。ffmpeg 添加 -crf 参数,值范围建议在 18 ~ 24 之间。

    可以提供一个视频,我本地处理看看。
    Shiweizhi
        66
    Shiweizhi  
       2021-06-24 22:14:35 +08:00   ❤️ 2
    find ./ -type f -name "*.m4v" -exec ffmpeg -i "{}" -c:v h264_videotoolbox -b:v 8000k "{}.converted.mp4" \;
    Enlightener
        67
    Enlightener  
       2021-06-25 00:35:03 +08:00
    @LoneFireBlossom 对的,我拼写错了。他和 FCPX 用的是同一套解编码器,只不过单独分出来了一个 app 而已。就像 adobe 的 PR 和 Adobe Media Encoder 的关系差不多。
    我想知道你哪些格式无法导入啊,我以前也遇到这种问题,只是编码不支持而已,这个还挺常见的。这种格式如果是有官网的话一般官网都会有编解码器,手动把它注入系统文件或者相应软件的对应目录就好了。
    举个例子,比如用 RED 系列的电影摄影机拍摄的素材,格式为 R3D 的 red 公司特有格式,adobe 全家桶就不支持这种格式,我们只要去 red 官网上下载解码器,放到 Adobe 对应的程序目录里就可以正常导入、编辑素材了。
    作为影视从业人员我个人还是非常建议用这些专业的视频编辑行业大厂的软件。一是稳定,一是可选择的空间大,音视频的码流、格式、编辑方式都是可以自定义的,捎带手还可以套个 luts 啥的。
    vokins
        68
    vokins  
       2021-06-25 02:01:28 +08:00 via iPhone
    用免费的达芬奇足以满足你的要求了
    LoneFireBlossom
        69
    LoneFireBlossom  
    OP
       2021-06-25 09:07:26 +08:00
    @Enlightener #67 😂FCPX 我已经卸载了,不确定是哪个视频了。应该是我在 #30 提到的那个视频,信息见该楼
    LoneFireBlossom
        70
    LoneFireBlossom  
    OP
       2021-06-25 09:10:20 +08:00
    @zqhong #65 本来就不清晰了,再压缩就更不清晰了吧。
    比如这个: 链接: https://pan.baidu.com/s/1OtLDd56mdaGzQddNL_-cZg 密码: ussp
    zqhong
        71
    zqhong  
       2021-06-25 11:11:30 +08:00
    #70

    下载了你提供的视频文件,该视频文件用了 Matroska 的封装格式( Container format ),兼容性比较差,换成 MP4 好一些。

    这是 ffprobe 的结果:

    Input #0, matroska,webm, from 'v1.mkv':
    Metadata:
    encoder : libebml v1.3.4 + libmatroska v1.4.5
    creation_time : 2021-05-08T04:16:31.000000Z
    Duration: 00:05:33.62, start: 0.000000, bitrate: 319 kb/s

    Stream #0:0(eng): Video: h264 (Main), yuv420p(progressive), 2304x1440 [SAR 1:1 DAR 8:5], 30 fps, 30 tbr, 1k tbn, 60 tbc (default)

    Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp (default)


    参考:
    https://zh.wikipedia.org/wiki/Matroska

    https://en.wikipedia.org/wiki/Comparison_of_video_container_formats

    @LoneFireBlossom
    zqhong
        72
    zqhong  
       2021-06-25 11:43:07 +08:00
    #70

    关于压缩问题,因为我电脑性能比较差,只截取了前 60 秒,文件名为 60sec.mkv 。

    这是本地的测试结果:
    2.4M Jun 25 11:14 60sec.mkv
    2.3M Jun 25 11:23 crf-default.mp4
    2.7M Jun 25 11:17 crf17.mp4
    2.5M Jun 25 11:18 crf20.mp4
    2.3M Jun 25 11:19 crf23.mp4

    我认为:保持 crf 默认值( 23 )即可,没太大区别。

    ---

    关于清晰度问题:
    crf 17 ~ 18 这个范围,接近无损。默认值为 23,我肉眼看不出来。

    参考:
    https://trac.ffmpeg.org/wiki/Encode/H.264
    zqhong
        73
    zqhong  
       2021-06-25 11:48:47 +08:00
    #71

    回到 71 楼的内容。

    你提供的视频的封装格式是 Matroska ( MKV ),视频编码是 h264,音频编码是 aac 。
    这里主要是 Matroska 这种封装格式,移动端支持比较差。h264 和 aac 是没有问题。
    那其实可以只转换封装格式,其他不变。

    time ffmpeg -i 60sec.mkv -vcodec libx264 -preset veryfast out1.mp4
    耗时:38.930 秒

    time ffmpeg -i 60sec.mkv -c copy out2.mp4
    耗时:0.079 秒


    速度相差很大
    alohathomas
        74
    alohathomas  
       2021-06-25 16:56:20 +08:00
    compress
    dxppp
        75
    dxppp  
       2022-06-20 17:52:53 +08:00 via Android
    ffmpeg -i input.mp4 -c:v hevc_videotoolbox -crf 20 -preset slow -c:a libfdk_aac -tag:v hvc1 output.mp4

    https://gloomy-ghost.gitbook.io/convert-videos-with-ffmpeg-zh/
    hsulin
        76
    hsulin  
       229 天前
    保持原视频质量不变的转码软件,这个我也问过( https://www.v2ex.com/t/931380 ),找到了一个傻瓜的解决方案,App Store 里的 Focus Video ,一个国人的软件,可以选择保留原视频的质量转换格式:
    hsulin
        77
    hsulin  
       229 天前
    而且这个软件也可以选择 Same as Source Folder ,不过会在里面生成一个新文件夹,把转换好的视频放在里面,以区别于原视频
    Aixtuz
        78
    Aixtuz  
       145 天前
    我是这样用的:

    Automator - Quick Action - Run Shell Script

    ```
    PATH=$PATH:/usr/local/bin/;
    for v in "$@"
    do
    ffmpeg -i "$v" -c:a aac -c:v libx264 -r 30 -crf 23 "$v".mp4
    done
    ```
    保存名称
    批量选择视频 - 右键 - Quick Action - 选中名称执行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1064 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 80ms · UTC 18:55 · PVG 02:55 · LAX 10:55 · JFK 13:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.