ffmpeg将带字幕轨道的视频分离成无字幕视频,同时提取字幕文件
- 前提 安装好ffmpeg
- 查看视频信息
> ffmpeg.exe -i .\33死者们的侵略.mp4
ffmpeg version 4.4.1-essentials_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developersbuilt with gcc 11.2.0 (Rev1, Built by MSYS2 project)configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberbandlibavutil 56. 70.100 / 56. 70.100libavcodec 58.134.100 / 58.134.100libavformat 58. 76.100 / 58. 76.100libavdevice 58. 13.100 / 58. 13.100libavfilter 7.110.100 / 7.110.100libswscale 5. 9.100 / 5. 9.100libswresample 3. 9.100 / 3. 9.100libpostproc 55. 9.100 / 55. 9.100
Input #0, matroska,webm, from '.\33死者们的侵略.mp4':Metadata:title : 52KHDencoder : libebml v1.3.1 + libmatroska v1.4.2creation_time : 2016-12-22T13:30:07.000000ZDuration: 00:25:01.46, start: 0.000000, bitrate: 3277 kb/sStream #0:0: Video: h264 (High 10), yuv420p10le(progressive), 1440x1080 [SAR 1:1 DAR 4:3], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)Metadata:BPS : 3117661BPS-eng : 3117661DURATION : 00:25:01.459000000DURATION-eng : 00:25:01.459000000NUMBER_OF_FRAMES: 35999NUMBER_OF_FRAMES-eng: 35999NUMBER_OF_BYTES : 585130095NUMBER_OF_BYTES-eng: 585130095_STATISTICS_WRITING_APP: mkvmerge v7.9.0 ('Birds') 32bit_STATISTICS_WRITING_APP-eng: mkvmerge v7.9.0 ('Birds') 32bit_STATISTICS_WRITING_DATE_UTC: 2016-12-22 13:30:07_STATISTICS_WRITING_DATE_UTC-eng: 2016-12-22 13:30:07_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTESStream #0:1(chi): Audio: aac (LC), 48000 Hz, stereo, fltp (default)Metadata:title : 上译国语BPS : 157712BPS-eng : 157712DURATION : 00:25:01.205000000DURATION-eng : 00:25:01.205000000NUMBER_OF_FRAMES: 70369NUMBER_OF_FRAMES-eng: 70369NUMBER_OF_BYTES : 29594781NUMBER_OF_BYTES-eng: 29594781_STATISTICS_WRITING_APP: mkvmerge v7.9.0 ('Birds') 32bit_STATISTICS_WRITING_APP-eng: mkvmerge v7.9.0 ('Birds') 32bit_STATISTICS_WRITING_DATE_UTC: 2016-12-22 13:30:07_STATISTICS_WRITING_DATE_UTC-eng: 2016-12-22 13:30:07_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTESStream #0:2(chi): Subtitle: subrip (default)Metadata:BPS : 25BPS-eng : 25DURATION : 00:22:54.674000000DURATION-eng : 00:22:54.674000000NUMBER_OF_FRAMES: 204NUMBER_OF_FRAMES-eng: 204NUMBER_OF_BYTES : 4387NUMBER_OF_BYTES-eng: 4387_STATISTICS_WRITING_APP: mkvmerge v7.9.0 ('Birds') 32bit_STATISTICS_WRITING_APP-eng: mkvmerge v7.9.0 ('Birds') 32bit_STATISTICS_WRITING_DATE_UTC: 2016-12-22 13:30:07_STATISTICS_WRITING_DATE_UTC-eng: 2016-12-22 13:30:07_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTESStream #0:3: Attachment: ttfMetadata:filename : 52logo.ttfmimetype : application/x-truetype-font
At least one output file must be specified
可以看到第一个轨道是视频,第二个轨道是音频,第三个轨道是字幕
2. 提取字幕文件
#将第三个轨道subrip字幕轨道提取成srt文件
ffmpeg -i .\33死者们的侵略.mp4 -map "0:2" 33死者们的侵略.srt #将第三个轨道subrip字幕轨道提取成ass文件
ffmpeg -i .\33死者们的侵略.mp4 -map "0:2" 33死者们的侵略.ass
- 提取无字幕的视频文件
# 将第一轨道的视频和第二轨道的音频重新生成新的视频文件
ffmpeg -i .\33死者们的侵略.mp4 -map 0:0 -map 0:1 -vcodec copy -acodec copy 33死者们的侵略(无字幕).mp4
- -i: 输入文件
- -map 0:0: 第1个输入文件的第一个流,也就是主要的视频流。
- -map 0:1: 第1个输入文件的第二个流,是视频的声音。
- -vcodec copy: 拷贝选择的视频流。
- -acodec copy: 拷贝选择的声音流。
ffmpeg将带字幕轨道的视频分离成无字幕视频,同时提取字幕文件相关推荐
- 如何将2000kbps的mp4视频转换成30000kbps的视频?视频比特率如何修改?
好多人在想把上传到某些网站或者平台的时候,有一些网站对视频的体积是有要求的.但是所以就需要对视频的体积进行修改,在修改视频体积之前我们必须要清楚一件事,就是什么参数影响视频的体积,在我看来就是视频的清 ...
- 视频剪辑软件快速将横屏视频转成竖屏视频
本次教程内容为<横屏视频转成竖屏视频>,快速对视频进行处理,尽可能在软件的学习上降低使用成本. 一.准备 1.企易推视频剪辑合成软件 2.背景图(转横屏,会产生空白区,需要用背景图来提升美 ...
- 如何将视频分割成几部分 视频剪切软件哪个好
视频已经成为继文字,图片后的又一个交流方式,在这个快节奏的发展时代,很多人看到文字就会头疼,转而通过视频来获取外界传递的信息,尤其是短视频以及影视的发展,对于很多女生来说,大概在追剧的过程中都会将自己 ...
- 怎么把视频转换成音频?视频转音频方法分享。
怎么把视频转换成音频?对于从事剪辑行业的小伙伴们来说,背景音乐是最不可或缺的一个部分,很多小伙伴所使用的背景音乐也是自己制作的,那么在我们看到有视频的背景音乐我们特别喜欢的情况下,该如何去制作成我们的 ...
- 如何将视频分割成几部分 视频剪切软件哪个好 1
视频已经成为继文字,图片后的又一个交流方式,在这个快节奏的发展时代,很多人看到文字就会头疼,转而通过视频来获取外界传递的信息,尤其是短视频以及影视的发展,对于很多女生来说,大概在追剧的过程中都会将自己 ...
- 视频识别成文字php,视频字幕和文字提取器-本地识别模型-人工智能文字识别源码交流...
[Python] 纯文本查看 复制代码import paddlehub as hub import cv2,copy,os import time class Ocr(): def __init__( ...
- 让VLC播放器支持SDS 3D视频转换成interlaced 3D视频(红蓝3D)
插件 VLC HSBS to interlaced 3D plugin 经过测试不能使用,2013年作者就弃坑了. 幸运的是,VLC自带此功能. VLC, since version 2.1.0, i ...
- opencv-python将一个视频切成n份视频
https://blog.csdn.net/mangobar/article/details/105142847
- 视频翻译成中文工具哪个好?3招教你视频翻译字幕
最近,上大学的表妹向我求助,大概内容就是:她是学生会记者团的小记者,某天她接到任务,要写一篇关于科学讲座的报道,结果部长给的材料是无字幕的全英讲座视频,表妹听了一天都翻译不出来.其实不用苦恼!我们可以 ...
最新文章
- c语言信号灯作用,交通信号灯对交通领域的作用与影响
- logic多分类的两种类别
- CompletableFuture API用法介绍(二)
- php 替换字符串 图片,PHP替换字符串实现图片自适应屏幕实例代码
- mysql中用HEX和UNHEX函数处理二进制数据的导入导出
- Altium Desiger18 打印 丝印简单的方法
- 程序设计基础c语言版习题答案,C语言程序设计基础知识 习题一及参考答案
- QGLViewer 编译安装步骤
- 使用Intellij idea新建Java Web项目(servlet) 原理及初步使用
- java批量导入和批量删除_MyBatis 实现批量插入和删除中双层循环的写法案例
- 视频教程-JQuery全套视频-jQuery
- 使用instsrv.exe和srvany.exe创建windows服务
- win10 SVN 图标不显示的解决办法
- linux 培训感谢信,应用文(考试)应用文(考).doc
- 智能风控模型之数据源类型
- java基础 io流 字节流 字符流 节点流 包装流 转换流 缓冲流 对象流 打印流 Properties类
- 【0基础入门Pytorch】Pytorch的简介与安装(Windows)
- 20天从入门到项目实战:学习小组C1任务训练实录
- 子类调用父类 关键字 super
- 自动写代码?AI还能帮你写?
热门文章
- 简单的数据库代理操作
- 一台计算机组装完成以后,要先装什么.,一台刚组装好的电脑,还需要进行哪些操作?...
- 网络:万维网(WWW)
- android修改输出分辨率,编译Android8.1修改默认分辨率和屏幕密度
- 2023年求职日记:华为成都OD岗
- 那计算机的发展基础是什么呢,计算机的基础
- 做股指期货投资必看的32本书
- 运营策略实验最小样本量的确定
- iOS 开发实用工具
- matlab中(),[],与{}的使用区别