zoukankan      html  css  js  c++  java
  • 使用 FFMPEG 命令将视频的【外挂字幕】转为 【嵌入视频】


    有些电影的视频与字幕是分离的,如果在视频中嵌入字幕,那么观看起来会更方便一些,不必在播放前额外去加载字幕文件。

    在 Linux 中,可以使用 ffmpeg 命令实现上述功能。


    ffmpeg -i infile.mp4 -i infile.srt -c copy -c:s mov_text outfile.mp4

    注意, -c copy -c:s mov_text 的顺序是非常重要的,因为这是简写。或者可以使用如下选项  -c:v copy -c:a copy -c:s mov_text  ,在这组选项里,顺序就不重要了。

    其中, -i 选项用于指定需要读取的文件,在这里是视频文件与字幕文件(字幕文件 srt 与 ass 格式皆可)。



    但是,对于格式为 Matroska 的视频文件(扩展名为 mkv),上述命令会提示错误信息:Subtitle codec 94213 is not supported,应当使用如下命令:

    ffmpeg -i infile.mkv -i infile.srt -c copy -c:s srt outfile.mkv



    注意: 如果在使用ffmpeg命令嵌入字幕后,您又想把视频分隔成小段,那么小段视频中是不包含字幕的。词是需要用到 PR或者 Camtasia 这些视频编辑软件,我习惯用 Camtasia 9 渲染音视频和字幕。


    camtasia 9有时候不能正确读取视频中的音频,这时您需要用音频提取工具(mp3转换器、AudioExtractor )把视频中的音频提取为mp3,然后再导入Camtasia 的媒体--加入时间轴上。


    由于 camtasia 不支持mkv 格式的导入,所以遇到mkv 格式的视频需要先用ffmpeg 命令将mkv转成 mp4再导入到camtasia中。

    ffmpeg -i 源文件名  -c:v copy -c:a aac 目标文件名
    
    例如:
    ffmpeg -i 1.mkv  -c:v copy -c:a aac 1.mp4


    转载自 https://blog.csdn.net/weixin_33929309/article/details/94308779

  • 相关阅读:
    增删改查(Statement接口、PreparedStatement接口、DBUtils(QueryRunner类))
    JDBC(获取数据库连接、自定义JDBC工具类)
    Mysql(视图)
    mysql:dml(元组的插入、删除、修改)
    C++ 指针和引用
    C++ 内存管理
    C++ new/malloc、delete/free
    C++ 内存对齐
    图形渲染原理
    C++获取单链表的倒数第k个节点
  • 原文地址:https://www.cnblogs.com/qq-757617012/p/13967017.html
Copyright © 2011-2022 走看看