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

在 mac 上求一个批量去视频片头的软件

  •  
  •   chonger · 181 天前 · 1006 次点击
    这是一个创建于 181 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前一直用的是 Joyoshare Media Cutter,也确实很好用,可以不重新编码就能剪切,一部几 g 的电影去片头几秒钟就能完成,比自带的预览快多了。但唯一的问题是不能批量操作只能一部一部来,太慢。不知道还有哪些软件能批量不转码的去片头?

    21 条回复    2021-06-09 18:10:24 +08:00
    Cbdy
        1
    Cbdy  
       181 天前 via Android
    如果片头长度是固定的,写个脚本就好了
    chonger
        2
    chonger  
    OP
       181 天前
    @Cbdy 不会啊🤔
    matrix67
        3
    matrix67  
       181 天前   ❤️ 1
    用 -ss 和 -t 选项, 从第 30 秒开始,向后截取 10 秒的视频,并保存:
    ffmpeg -i input.wmv -ss 00:00:30.0 -c copy -t 00:00:10.0 output.wmv
    ffmpeg -i input.wmv -ss 30 -c copy -t 10 output.wmv
    达成相同效果,也可以用 -ss 和 -to 选项, 从第 30 秒截取到第 40 秒:
    ffmpeg -i input.wmv -ss 30 -c copy -to 40 output.wmv
    值得注意的是,ffmpeg 为了加速,会使用关键帧技术, 所以有时剪切出来的结果在起止时间上未必准确。 通常来说,把 -ss 选项放在 -i 之前,会使用关键帧技术; 把 -ss 选项放在 -i 之后,则不使用关键帧技术。 如果要使用关键帧技术又要保留时间戳,可以加上 -copyts 选项:
    ffmpeg -ss 00:01:00 -i video.mp4 -to 00:02:00 -c copy -copyts cut.mp4
    参考:ffmpeg.org
    chonger
        4
    chonger  
    OP
       181 天前
    @matrix67 谢谢,我试一下~
    chonger
        5
    chonger  
    OP
       180 天前
    算了,ffmpeg 安装出错,又要安装什么 brew,这个也不会,放弃了。就像是你要吃饭,才发现还要买米,要买米,还要先取钱……
    starrystarry
        6
    starrystarry  
       180 天前
    @chonger #5 装 homebrew 只需要一句话,装 ffmpeg 也只需要一句话,写固定时长的剪辑脚本依然只需要一句话,除去安装等待的时间,我打这句话的时间都已经开剪了。

    fd -e mp4 -x ffmpeg -ss 00:00:08 -i {} -c copy -tag:v avc1 {.}.mov
    starrystarry
        7
    starrystarry  
       180 天前   ❤️ 1
    @chonger #5 V2EX 默认你出来吃饭是带钱的(
    chonger
        8
    chonger  
    OP
       180 天前
    @starrystarry 哎,各行如隔山
    zhandouji
        9
    zhandouji  
       180 天前 via Android
    因为墙 homebrew 难装
    360511404
        10
    360511404  
       180 天前   ❤️ 3
    @starrystarry
    对朗朗来说弹一首钢琴曲信手拈来
    但我相信他不会认为每个人都能做到如此,更不会对别人说,无论多么复杂的曲子,也只是敲击 88 个键仅此而已
    除非他认为每个人都拥有自己一样的钢琴水平
    简单来说,他不会以为自己就是宇宙的中心
    你觉得很简单,那是你多少年的积累,只是三句话吗,这还不算遇到的意外情况
    igarashikenshin
        11
    igarashikenshin  
       180 天前
    @360511404 #10 老哥出书吧,我贷款买
    wydinhk
        12
    wydinhk  
       180 天前
    ffmpeg 可以直接下载编译好的。
    http://www.osxexperts.net/
    starrystarry
        13
    starrystarry  
       180 天前
    @360511404 #10 您高看我了,我也是现学现卖。就事论事,不要升华主题。
    missqso
        14
    missqso  
       180 天前 via iPhone
    高情商:创意工作者社区
    那么
    missqso
        15
    missqso  
       180 天前 via iPhone
    GUI 界面软件的话试试 permute,不知道有没有这个功能
    starrystarry
        16
    starrystarry  
       180 天前   ❤️ 2
    楼上说 ffmpeg 的也只是告知了软件而已,楼主问的关键词是「批量」,而我提供的代码则很好的解决了这个。

    首先你要有网络环境安装所需的软件。
    安装 homebrew: https://brew.sh/ 网站有提供,自行复制
    安装 ffmpeg:brew install ffmpeg
    安装 fd:brew install fd
    cd 到视频所在目录;例如 cd Movies/
    最后执行我上面提供的代码:fd -e mp4 -x ffmpeg -ss 00:00:08 -i {} -c copy -tag:v avc1 {.}.mov

    代码翻译成人话:找到 mp4 文件,调用 ffmpeg 从片头 8 秒处来一刀,复制音视频轨道,打上 avc1 的标签(方便 macOS 识别格式,看你的视频编码,如果是 HEVC 则为 hvc1 ),导出为 mov ( mp4 的另一种叫法)


    花时间研究如何安装,还是花时间挨个操作,至少你得选一个。
    wnpllrzodiac
        17
    wnpllrzodiac  
       180 天前 via Android
    写个 python 咯。可以友情帮写
    supermoonie
        18
    supermoonie  
       180 天前 via iPhone
    意思下,我可以帮你写个客户端,哈哈哈
    mmtromsb456
        19
    mmtromsb456  
       180 天前 via iPhone
    @chonger ffmpeg 在 macOS 上有现成的 static build,直接下载使用即可,批量执行也可以不需要 fd,macOS 有内建的 find
    static build: https://johnvansickle.com/ffmpeg/
    batch running: find /path/to/your/video -type f -name "*.mp4" -exec ffmpeg -ss 00:00:30 -i {} -c copy {.}.mkv \;
    注意最后这个 \; 不要省略就行
    pckillers
        20
    pckillers  
       180 天前
    windows 下预编译好的 ffmpeg 就是个绿色的 exe 。 一个 ffmpeg.exe + 写个 bat 批处理就能解决问题。
    LudwigWS
        21
    LudwigWS  
       180 天前 via iPhone
    以后会不会计算机这些是常规操作
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2814 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 12:19 · PVG 20:19 · LAX 04:19 · JFK 07:19
    ♥ Do have faith in what you're doing.