首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从mp4中提取字幕

从mp4中提取字幕
EN

Stack Overflow用户
提问于 2013-06-30 15:41:32
回答 4查看 22.1K关注 0票数 7

我接到了从mp4文件中检索字幕的任务

我想知道如何做到这一点,由mp4或c++,它依赖于java编码格式和

我想知道不同视频格式的基本概念和视频处理的基本概念。

EN

回答 4

Stack Overflow用户

发布于 2013-07-12 02:40:26

有几种字幕格式,SRT,STL(主要由Apple使用)等。并且ffmpeg支持很多http://ffmpeg.org/general.html#Subtitle-Formats

ffmpeg可以使用cmd命令行提取它们,命令序列如下:

1)执行轨迹识别

代码语言:javascript
复制
ffmpeg -i yourFile

2)提取字幕曲目:

代码语言:javascript
复制
ffmpeg -i yourFile -vn -an -codec:s:X.Y srt 
sub.srt

用X.Y表示您从cmd (1)中找到的磁道号指示器。

票数 11
EN

Stack Overflow用户

发布于 2019-07-02 21:52:44

对于包含多个字幕的m.m4v,这里的其他答案都不适用。但以下方法确实有效(对于.m4v和.mp4文件):

代码语言:javascript
复制
ffmpeg -i m.m4v -map 0:s:0 eng.srt
ffmpeg -i m.m4v -map 0:s:1 ita.srt
ffmpeg -i m.m4v -map 0:s:2 fre.srt

在我的m.m4v中有3个字幕流,第一个是英语,第二个是意大利语,第三个是法语。它似乎是用于ffmpeg命令的顺序,而不是使用ffmpeg -i m.m4v获得的X.Y (input.stream)值

这是我的m.m4v给出的:

代码语言:javascript
复制
Stream #0:2(eng): Subtitle: mov_text (tx3g / 0x67337874), 0 kb/s (default)
Metadata:
  handler_name    : SubtitleHandler
Stream #0:3(ita): Subtitle: mov_text (tx3g / 0x67337874), 0 kb/s
Metadata:
  handler_name    : SubtitleHandler
Stream #0:4(fre): Subtitle: mov_text (tx3g / 0x67337874), 0 kb/s
Metadata:
  handler_name    : SubtitleHandler

我在Macbook Pro 2015上使用Mac OS 10.4.5

顺便说一下,如果只有一个字幕曲目,那么你可以使用:

代码语言:javascript
复制
ffmpeg -i m.m4v -map 0:s:0 sub.srt
票数 8
EN

Stack Overflow用户

发布于 2019-05-07 04:07:24

ffmpeg -i yourFile -map X:Y srt sub.srt

仅提取所需的磁道

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17388253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档