Linux 挂载电影原盘 ISO 文件提取 PGS 字幕 时间: 2020-08-12 12:00 分类: JAVA 之前使用`mount`挂载`iso`文件的时候一直报个错`mount: /dev/loop0 is write-protected, mounting read-only` 还以为是挂载失败了,其实到挂载目录下去查看已经成功了的。 就是因为以为挂载失败,然后接触到了`HandBrake`这个软件,发现它并不支持字幕的提取,并且图形界面操作感觉很鸡肋,视频加水印、黑边都不可以,关键是字幕只能烧进视频里成为硬字幕,不知道搞个`burn into`的选项又不让取消勾选是个啥意思。 然后命令行使用`-s`参数将视频添加进`mkv`文件,然后再用`ffmpeg`提取出来,发现字幕的时间轴没了,真是无语,什么破软件。 最终回到挂载的方式提取字幕: 1. 挂载`ISO`文件: > mkdir /mnt/video > mount -o loop xxxxx.iso /mnt/video 2. 挂载成功后进入`/mnt/video/BDMV/STREAM` 找到最大的那个`.m2ts`文件,假设为`02798.m2ts`,查 看字幕文件所在位置: ``` Input #0, mpegts, from '02798.m2ts': Duration: 01:22:13.98, start: 11.650667, bitrate: 29177 kb/s Program 1 Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc Stream #0:1[0x1100]: Audio: dts (DTS-HD MA) ([134][0][0][0] / 0x0086), 48000 Hz, 5.1(side), s32p (24 bit) Stream #0:2[0x1101]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s Stream #0:3[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:4[0x1201]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:5[0x1202]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:6[0x1203](zho): Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:7[0x1204](zho): Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:8[0x1205](zho): Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:9[0x1206](zho): Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:10[0x1207](zho): Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:11[0x1208](zho): Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:12[0x1209](zho): Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:13[0x120a](zho): Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) ``` 3. 使用`ffmpeg`提取`PGS`字幕为`.sup`文件,这里我提取的是`stream 0:12`号字幕文件。 > ffmpeg -i 02798.m2ts -map 0:12 -c copy out.sup 到此为止,字幕就成功提取出来了,可以直接烧录进视频,也可以将其转为`sub/idx`格式,但是转完后特效会丢失,特效字幕不建议转换格式或者`OCR`。 标签: 无