请选择 进入手机版 | 继续访问电脑版

ChinaFFmpeg

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11742|回复: 11

ffmpeg怎样象mkvextract那样提取IDX+SUB?

[复制链接]
发表于 2019-12-23 09:57:16 | 显示全部楼层 |阅读模式
有一个MKV内有dvd字幕文件, 怎样用FFMPEG提取出来?

因为我不想用mkvextract GUI。

回复

使用道具 举报

发表于 2019-12-23 11:18:46 | 显示全部楼层
是否方便ffmpeg -i input.mkv 把输出的全部内容贴出来看一下?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-23 12:18:18 | 显示全部楼层
Input #0, matroska,webm, from '05ss.mkv':
  Metadata:
    ENCODER         : Lavf58.25.100
  Duration: 00:03:20.16, start: 0.000000, bitrate: 1023 kb/s
    Stream #0:0: Video: hevc (Main), yuv420p(tv), 1280x720, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 1k tbn, 25 tbc (default)
    Metadata:
      BPS             : 1117624
      BPS-eng         : 1117624
      DURATION-eng    : 00:20:51.560000000
      NUMBER_OF_FRAMES: 31289
      NUMBER_OF_FRAMES-eng: 31289
      NUMBER_OF_BYTES : 174846720
      NUMBER_OF_BYTES-eng: 174846720
      _STATISTICS_WRITING_APP: mkvmerge v10.0.0 ('To Drown In You') 64bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v10.0.0 ('To Drown In You') 64bit
      _STATISTICS_WRITING_DATE_UTC: 2017-04-23 13:40:44
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-04-23 13:40:44
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:03:20.160000000
    Stream #0:1(chi): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s (default)
    Metadata:
      BPS             : 192000
      BPS-eng         : 192000
      DURATION-eng    : 00:20:51.520000000
      NUMBER_OF_FRAMES: 39110
      NUMBER_OF_FRAMES-eng: 39110
      NUMBER_OF_BYTES : 30036480
      NUMBER_OF_BYTES-eng: 30036480
      _STATISTICS_WRITING_APP: mkvmerge v10.0.0 ('To Drown In You') 64bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v10.0.0 ('To Drown In You') 64bit
      _STATISTICS_WRITING_DATE_UTC: 2017-04-23 13:40:44
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-04-23 13:40:44
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:03:20.000000000
    Stream #0:2(chi): Subtitle: dvd_subtitle (default)
    Metadata:
      BPS             : 6004
      BPS-eng         : 6004
      DURATION-eng    : 00:20:43.506000000
      NUMBER_OF_FRAMES: 825
      NUMBER_OF_FRAMES-eng: 825
      NUMBER_OF_BYTES : 933285
      NUMBER_OF_BYTES-eng: 933285
      _STATISTICS_WRITING_APP: mkvmerge v10.0.0 ('To Drown In You') 64bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v10.0.0 ('To Drown In You') 64bit
      _STATISTICS_WRITING_DATE_UTC: 2017-04-23 13:40:44
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-04-23 13:40:44
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      ENCODER         : Lavc58.42.104 dvdsub
      DURATION        : 00:03:19.821000000
At least one output file must be specified
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-23 12:35:07 | 显示全部楼层
   Stream #0:3(chi): Subtitle: dvb_subtitle (default)
   Metadata:
     BPS             : 6004
     BPS-eng         : 6004
     DURATION-eng    : 00:20:43.506000000
     NUMBER_OF_FRAMES: 825
     NUMBER_OF_FRAMES-eng: 825
     NUMBER_OF_BYTES : 933285
     NUMBER_OF_BYTES-eng: 933285
     _STATISTICS_WRITING_APP: mkvmerge v10.0.0 ('To Drown In You') 64bit
     _STATISTICS_WRITING_APP-eng: mkvmerge v10.0.0 ('To Drown In You') 64
     _STATISTICS_WRITING_DATE_UTC: 2017-04-23 13:40:44
     _STATISTICS_WRITING_DATE_UTC-eng: 2017-04-23 13:40:44
     _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
     _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
     DURATION        : 00:03:20.386000000
t least one output file must be specified

这是最原始的文件,我把DVB转为dvd字幕. 才能用IDXOCR。

不好意思,这帖子无意发错区,应该在命令使用区.
回复 支持 反对

使用道具 举报

发表于 2019-12-23 23:26:32 | 显示全部楼层
ffmpeg -i input.mkv -vn -an -scodec copy -map 0:2 -f microdvd out.sub
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-24 11:01:45 | 显示全部楼层
孙悟空 发表于 2019-12-23 23:26
ffmpeg -i input.mkv -vn -an -scodec copy -map 0:2 -f microdvd out.sub



      ENCODER         : Lavc58.42.104 dvdsub
      DURATION        : 00:03:19.821000000
[microdvd @ 06000000] Exactly one MicroDVD stream is needed.
Could not write header for output file #0 (incorrect codec parameters ?): Operation not permitted
Stream mapping:
  Stream #0:2 -> #0:0 (copy)
    Last message repeated 1 times

C:\Users\Administrator\Downloads>






我把字幕也放在附件上,请试.



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2019-12-24 15:06:36 | 显示全部楼层
./ffmpeg -i ~/Downloads/05onlysub.mkv -c copy -map 0:0 -f data outpu.dvdsub
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-25 08:46:28 | 显示全部楼层
孙悟空 发表于 2019-12-24 15:06
./ffmpeg -i ~/Downloads/05onlysub.mkv -c copy -map 0:0 -f data outpu.dvdsub

谢谢了,不过真心不行。 提取IDX+VOB目前唯一是MKVEXTRACT。

如果仍坚持FFMPEG

此贴可结.
回复 支持 反对

使用道具 举报

发表于 2019-12-25 11:51:43 | 显示全部楼层
slc 发表于 2019-12-25 08:46
谢谢了,不过真心不行。 提取IDX+VOB目前唯一是MKVEXTRACT。

如果仍坚持FFMPEG

那就应该是不支持了,用mkvextract吧,我没这种应用场景,其他人有的话可以用这个
回复 支持 反对

使用道具 举报

发表于 2019-12-25 13:27:03 | 显示全部楼层
[AppleScript] 纯文本查看 复制代码
liuqideMacBook-Pro:dash liuqi$ ./ffmpeg -scodec dvdsub -f dsub -i outpu.dvdsub
ffmpeg version N-96016-gbc35cef78d Copyright (c) 2000-2019 the FFmpeg developers
  built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
  configuration: --enable-fontconfig --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libspeex --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-version3 --enable-nonfree --enable-videotoolbox --enable-libxml2 --samples=fate-suite/ --enable-libopencv --enable-libopus
  libavutil      56. 36.101 / 56. 36.101
  libavcodec     58. 64.101 / 58. 64.101
  libavformat    58. 35.101 / 58. 35.101
  libavdevice    58.  9.101 / 58.  9.101
  libavfilter     7. 68.100 /  7. 68.100
  libswscale      5.  6.100 /  5.  6.100
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Input #0, dsub, from 'outpu.dvdsub':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Subtitle: dvd_subtitle
At least one output file must be specified
liuqideMacBook-Pro:dash liuqi$
liuqideMacBook-Pro:dash liuqi$ vim ./libavformat/rawdec.c
liuqideMacBook-Pro:dash liuqi$ ./ffmpeg -i ~/Downloads/05
0525胶片更新.key  05onlysub.mkv
liuqideMacBook-Pro:dash liuqi$ ./ffmpeg -i ~/Downloads/05onlysub.mkv
ffmpeg version N-96016-gbc35cef78d Copyright (c) 2000-2019 the FFmpeg developers
  built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
  configuration: --enable-fontconfig --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libspeex --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-version3 --enable-nonfree --enable-videotoolbox --enable-libxml2 --samples=fate-suite/ --enable-libopencv --enable-libopus
  libavutil      56. 36.101 / 56. 36.101
  libavcodec     58. 64.101 / 58. 64.101
  libavformat    58. 35.101 / 58. 35.101
  libavdevice    58.  9.101 / 58.  9.101
  libavfilter     7. 68.100 /  7. 68.100
  libswscale      5.  6.100 /  5.  6.100
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Input #0, matroska,webm, from '/Users/liuqi/Downloads/05onlysub.mkv':
  Metadata:
    ENCODER         : Lavf58.25.100
  Duration: 00:03:19.82, bitrate: 5 kb/s
    Stream #0:0(chi): Subtitle: dvd_subtitle (default)
    Metadata:
      BPS             : 6004
      BPS-eng         : 6004
      DURATION-eng    : 00:20:43.506000000
      NUMBER_OF_FRAMES: 825
      NUMBER_OF_FRAMES-eng: 825
      NUMBER_OF_BYTES : 933285
      NUMBER_OF_BYTES-eng: 933285
      _STATISTICS_WRITING_APP: mkvmerge v10.0.0 ('To Drown In You') 64bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v10.0.0 ('To Drown In You') 64bit
      _STATISTICS_WRITING_DATE_UTC: 2017-04-23 13:40:44
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-04-23 13:40:44
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      ENCODER         : Lavc58.42.104 dvdsub
      DURATION        : 00:03:19.821000000
At least one output file must be specified
liuqideMacBook-Pro:dash liuqi$


要支持dvdsub的话,得稍微改改代码才可以。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|Archiver|ChinaFFmpeg

GMT+8, 2024-4-19 06:30 , Processed in 0.107328 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表