我有一个包含字幕轨道的 MP4 文件。当我使用提取它时
MP4Box -raw 3:output=track3 myfile.mp4
我得到一个.tx3g
文件 - 半二进制格式。我的字幕编辑器不支持它,我不知道如何将其转换为可用的东西。
我在一个相当新的 GNU/Linux 发行版上使用 Cinnamon。
我有一个包含字幕轨道的 MP4 文件。当我使用提取它时
MP4Box -raw 3:output=track3 myfile.mp4
我得到一个.tx3g
文件 - 半二进制格式。我的字幕编辑器不支持它,我不知道如何将其转换为可用的东西。
我在一个相当新的 GNU/Linux 发行版上使用 Cinnamon。
我有一些包含 HDMV PGS 字幕的视频文件,我需要将它们转换为 subrip(或其他文本字幕)。我知道我可以对视频文件进行 ffmpeg 解复用以提取.sup
并即时将其转换为 VobSub,然后subtitleedit /convert
使用它自己的 tesseract 进行 subrip。
但是,我只想使用 ffprobe/ffmpeg,我之前用 libtesseract 和 all 编译过。我也不介意将原始 tesseract 输出解析为 subrip,但我只需要得到它。
我试过例如:
ffprobe -show_entries frame_tags=lavfi.ocr.text -f lavfi -i "movie=pgs.mkv,ocr"
自然,它会尝试读取视频流而不是字幕流之一。将它瞄准一个.sup
文件或多个子.mks
或多个.sub/idx
文件会让我No video stream with index '-1' found
出错,这在技术上是正确的,但是......
有没有办法让 ffprobe/ffmpeg OCR 成为实际的字幕而不是视频?
我想将ass
类型字幕轨道转换为dvd_subtitle
类型轨道。
我知道我不能简单地要求 ffmpeg 将其转换为-c:s dvd_subtitle
,但必须有另一种简单的方法,因为诸如视频播放器之类的vlc
简单地将文本字幕转换为图像以将其显示在视频上。
此外,即使ffmpeg
说它不能执行这样的转换,我也很难相信它可以将文本字幕刻录到视频轨道,而不是简单地将文本字幕轨道转换为图像字幕轨道。
那么我该怎么做呢?是否有其他程序可以执行此任务?
我有一个包含 30 多个字幕的视频文件,我只想从中保存英文字幕轨道。
Input #0, matroska,webm, from 'Galaxy.mkv':
Metadata:
title : Galaxy.720p.WEBRip.x264-GalaxyTV
COMMENT : GalaxyTV - small excellence!
ENCODER : Lavf58.20.100
Duration: 00:47:31.48, start: 0.000000, bitrate: 880 kb/s
Stream #0:0: Video: h264 (High), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Metadata:
title : GalaxyTV - small excellence!
ENCODER : Lavc58.35.100 libx264
DURATION : 00:47:31.453000000
Stream #0:1(eng): Audio: aac (LC), 48000 Hz, stereo, fltp (default)
Metadata:
title : GalaxyTV - small excellence!
ENCODER : Lavc58.35.100 aac
DURATION : 00:47:31.477000000
Stream #0:2(eng): Subtitle: subrip (default)
Metadata:
title : GalaxyTV - small excellence!
ENCODER : Lavc58.35.100 srt
DURATION : 00:43:46.478000000
...
Stream #0:32(chi): Subtitle: subrip
Metadata:
title : Chinese Traditional
ENCODER : Lavc58.35.100 srt
DURATION : 00:45:40.508000000
我用ffmpeg尝试了以下内容:
ffmpeg -hide_banner -i Galaxy.mkv -c copy -map 0:v:0 -map 0:a:0 -map 0:s:m:language:eng mov_text out.mp4
但这给出了以下错误:
[NULL @ 0x7fqe85422f00] Unable to find a suitable output format for 'mov_text'
mov_text: Invalid argument
选项不应该-map 0:s:m:language:eng
选择英文字幕吗?
为什么 FFmpeg 抱怨这是一个无效的论点?
版本:3.0.11 vetinari(不太清楚是什么意思)操作系统:zorin ult 15(基于 ubuntu)
这些是文件
$ tree
.
├── Another 12.mkv
└── [ReinWeiss] Another - 12 [1080p CR-Modified].ass
文件没有以任何方式损坏(检查重新下载并检查哈希)
当我启动 vlc 并拖放文件时,一切正常,但字幕非常不同步
Dialogue: 0,0:00:11.08,0:00:12.61,Default,Tsujii,0000,0000,0000,,We've gotta get out of here!
第一个对话发生在电影文件中的 1:41
我需要 90 秒的延迟,因此应用了设置 (+90.0) 从Tools > Track Synchronization > Subtitle Track Synchronization
但在那之后,对话根本没有出现
我将延迟降低到 +5.0,正如预期的那样,对话出现在 16 秒。我将它增加到+10.0,它仍然有效。但是 +20.0 不起作用。诡异的!
然后我在终端启动 vlc 看看是否有任何错误。这是输出
$ vlc "Another 12.mkv"
VLC media player 3.0.11 Vetinari (revision 3.0.11-0-gdc0c5ced72)
[000055cd2080fb10] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
Qt: Session management error: None of the authentication protocols specified are supported
QApplication: invalid style override 'adwaita' passed, ignoring it.
Available styles: Breeze, Windows, Fusion
[00007f6214c0fbe0] main demux error: option sub-original-fps does not exist
[ass] Shaper: FriBidi 0.19.7 (SIMPLE) HarfBuzz-ng 1.7.2 (COMPLEX)
[ass] Using font provider fontconfig
[ass] fontselect: Using default font family: (Qlassik Bold, 700, 0) -> /usr/share/fonts/truetype/croscore/Arimo-Bold.ttf, 0, Arimo-Bold
[ass] fontselect: (Qlassik Bold, 700, 0) -> /usr/share/fonts/truetype/croscore/Arimo-Bold.ttf, 0, Arimo-Bold
[00007f6215c9ad40] main demux error: option sub-original-fps does not exist
[ass] Shaper: FriBidi 0.19.7 (SIMPLE) HarfBuzz-ng 1.7.2 (COMPLEX)
[ass] Using font provider fontconfig
[ass] fontselect: Using default font family: (Qlassik Bold, 700, 0) -> /usr/share/fonts/truetype/croscore/Arimo-Bold.ttf, 0, Arimo-Bold
[ass] fontselect: (Qlassik Bold, 700, 0) -> /usr/share/fonts/truetype/croscore/Arimo-Bold.ttf, 0, Arimo-Bold
[00007f6214c39d30] main decoder error: Timestamp conversion failed (delay 1000000, buffering 100000, bound 9000000)
[00007f6214c39d30] main decoder error: Could not convert timestamp 66522054636 for FFmpeg
[00007f6214c39d30] main decoder error: Timestamp conversion failed (delay 1000000, buffering 100000, bound 9000000)
[00007f6214c39d30] main decoder error: Could not convert timestamp 66549230604 for FFmpeg
[00007f6214c39d30] main decoder error: Timestamp conversion failed for 35369001: no reference clock
[00007f6214c39d30] main decoder error: Could not convert timestamp 0 for FFmpeg
[00007f6214c39d30] main decoder error: Timestamp conversion failed for 43710001: no reference clock
[00007f6214c39d30] main decoder error: Could not convert timestamp 0 for FFmpeg
[00007f6214c39d30] main decoder error: Timestamp conversion failed (delay 1000000, buffering 100000, bound 9000000)
[00007f6214c39d30] main decoder error: Could not convert timestamp 66604836902 for FFmpeg
我认为这可能是内存损坏或其他原因,但我什么都看不到,所有其他应用程序都可以正常工作,除了 vlc 有时会冻结。
有人知道发生了什么吗?
我正在尝试使用 youtube-dl 下载此流的字幕(https://live.performa.intio.tv/media/30e671d3-0bd2-46db-b70d-6fb4cb6be350/master-allsubs.m3u8)。
在 m3u8 文件中,字幕被列为媒体资源
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="German",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,LANGUAGE="deu",URI="subs-deu.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English",DEFAULT=NO,AUTOSELECT=NO,FORCED=NO,LANGUAGE="eng",URI="subs-eng.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Italian",DEFAULT=NO,AUTOSELECT=NO,FORCED=NO,LANGUAGE="ita",URI="subs-ita.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="French",DEFAULT=NO,AUTOSELECT=NO,FORCED=NO,LANGUAGE="fra",URI="subs-fra.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Japanese",DEFAULT=NO,AUTOSELECT=NO,FORCED=NO,LANGUAGE="jpn",URI="subs-jpn.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Russian",DEFAULT=NO,AUTOSELECT=NO,FORCED=NO,LANGUAGE="rus",URI="subs-rus.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Spanish",DEFAULT=NO,AUTOSELECT=NO,FORCED=NO,LANGUAGE="spa",URI="subs-spa.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Chinese",DEFAULT=NO,AUTOSELECT=NO,FORCED=NO,LANGUAGE="zho",URI="subs-zho.m3u8"
但是任何下载它们的尝试都会失败,例如
youtube-dl --write-sub --skip-download "https://live.performa.intio.tv/media/30e671d3-0bd2-46db-b70d-6fb4cb6be350/master-allsubs.m3u8"
没有返回错误,但也没有创建字幕文件。任何想法?
ffmpeg -i subs.srt subs.ass
当我使用 FFmpeg (v. git-2020-03-24-e5d25d1): ( subs.srt )尝试以下命令时,我收到一堆以下错误:
[srt @ 0000028ea78fa780] Invalid UTF-8 in decoded subtitles text; maybe missing -sub_charenc option
Error while decoding stream #0:0: Invalid data found when processing input
和:
[ass @ 0000028ea78ffe40] ReadOrder gap found between 3 and 4
我发现我的 .srt 文件包含以下字符: ë 我尝试按此处-sub_charenc UTF-8
所述添加标志,但没有成功。
如何成功将 .srt 转换为 .ass?
我在 Internet 上找不到 Advanced SubStation Alpha (ASS) 字幕文件格式的好文档,我想知道,边距的单位是什么?
我的直觉告诉我这是一个百分比,但我想确定一下。
谢谢你。
我目前正在尝试将外部字幕文件(.ass 文件)合并到 mkv 文件中,但遇到循环问题。
我最近的尝试是:
set mkvmerge="C:\Program Files\MKVToolNix\mkvmerge.exe"
set output_folder=G:\tada kun\muxed
set counter = 01
set test='G:\tada kun\subs\\[Kaya] Tada-Kun Wa Koi O Shinai - %counter% (Bd 1080P X.265 Flac).ass'
for /r %%a in (*.mkv) do call %mkvmerge% -o "%output_folder%\%%~na.mkv" --audio-tracks 1 --language 0:jpn --default-track 0:yes --language 1:jpn --default-track 1:yes "%%a" --language 0:eng --default-track 0:yes "%test%" --attachment-name OpenSans-Semibold.ttf --attach-file ^"G:\tada kun\OpenSans-Semibold.ttf^" --track-order 0:0,0:1,1:0
我不确定如何在这里增加计数器,但主要问题是当我调用测试变量时计数器不显示。对此的任何帮助将不胜感激。
我正在尝试对安静的地方进行编码...我知道事实上有强制潜艇,但是当尝试将其从 4K(本机)编码为 4K(x265)或 1080(x264)时,强制潜艇不会被烧毁在生成的文件中。
同样的命令在为另一部电影刻录强制字幕时效果很好。当我使用 Handbrake 时,它确实会刻录强制字幕。
这是我正在使用的命令:
ffmpeg -y -probesize 2048M -analyzeduration 2048M -forced_subs_only 1 -i ../in/A Quiet Place.mkv -map 0:0 -map 0:1 -map 0:1 -c:v libx264 -preset slower -profile:v high -level 5.1 -crf:v 22 -vf scale=1920:-1 -x264-params ref=5:bframes=5:b_adapt=2:direct=auto:analyse=all:me=umh:merange=24:subme=10:trellis=2:vbv-bufsize=512000:vbv-maxrate=512000:rc-lookahead=60:colorprim=bt2020:transfer=smpte2084:colormatrix=bt2020nc -c:a:0 aac -ac 6 -c:a:1 ac3 -ac 6 -disposition:a:0 default -disposition:a:1 none ../temp/A Quiet Place - 1080p.mp4
这是我的 mkv 文件:
General
Unique ID : 23590760640855359557197555294735710745 (0x11BF6A4CB436978F1FFA81AF8C2C3A19)
Complete name : ../in/A Quiet Place (2018).mkv
Format : Matroska
Format version : Version 2
File size : 45.1 GiB
Duration : 1 h 30 min
Overall bit rate mode : Variable
Overall bit rate : 71.5 Mb/s
Movie name : A Quiet Place
Encoded date : UTC 2018-08-03 16:35:34
Writing application : MakeMKV v1.12.3 win(x64-release)
Writing library : libmakemkv v1.12.3 (1.3.5/1.4.7) win(x64-release)
Video
ID : 1
ID in the original source medium : 4113 (0x1011)
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main [email protected]@High
Codec ID : V_MPEGH/ISO/HEVC
Duration : 1 h 30 min
Bit rate : 66.3 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 2)
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.333
Stream size : 41.8 GiB (93%)
Language : English
Default : No
Forced : No
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
Original source medium : Blu-ray
Mastering display color primaries : Display P3
Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2
Audio #1
ID : 2
ID in the original source medium : 4352 (0x1100)
Format : TrueHD
Format profile : TrueHD+Atmos / TrueHD
Codec ID : A_TRUEHD
Duration : 1 h 30 min
Bit rate mode : Variable
Bit rate : 3 890 kb/s
Maximum bit rate : 8 064 kb/s
Channel(s) : Object Based / 8 channels
Channel positions : Object Based / Front: L C R, Side: L R, Back: L R, LFE
Sampling rate : / 48.0 kHz
Frame rate : 1 200.000 FPS (40 SPF)
Bit depth : 24 bits
Compression mode : Lossless
Stream size : 2.45 GiB (5%)
Title : Surround 7.1
Language : English
Default : Yes
Forced : No
Original source medium : Blu-ray
Audio #2
ID : 3
ID in the original source medium : 4352 (0x1100)
Format : AC-3
Format/Info : Audio Coding 3
Codec ID : A_AC3
Duration : 1 h 30 min
Bit rate mode : Constant
Bit rate : 640 kb/s
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 kHz
Frame rate : 31.250 FPS (1536 SPF)
Bit depth : 16 bits
Compression mode : Lossy
Stream size : 413 MiB (1%)
Title : Surround 5.1
Language : English
Service kind : Complete Main
Default : No
Forced : No
Original source medium : Blu-ray
Audio #3
ID : 4
ID in the original source medium : 4353 (0x1101)
Format : AC-3
Format/Info : Audio Coding 3
Codec ID : A_AC3
Duration : 1 h 30 min
Bit rate mode : Constant
Bit rate : 640 kb/s
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 kHz
Frame rate : 31.250 FPS (1536 SPF)
Bit depth : 16 bits
Compression mode : Lossy
Stream size : 413 MiB (1%)
Title : Surround 5.1
Language : English
Service kind : Complete Main
Default : No
Forced : No
Original source medium : Blu-ray
Text #1
ID : 5
ID in the original source medium : 4768 (0x12A0)
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs
Duration : 1 h 11 min
Bit rate : 1 932 b/s
Count of elements : 302
Stream size : 1 016 KiB (0%)
Language : English
Default : No
Forced : No
Original source medium : Blu-ray
Text #2
ID : 6
ID in the original source medium : 4768 (0x12A0)
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs
Duration : 1 h 11 min
Bit rate : 1 252 b/s
Count of elements : 200
Stream size : 658 KiB (0%)
Language : English
Default : Yes
Forced : No
Original source medium : Blu-ray
Text #3
ID : 7
ID in the original source medium : 4769 (0x12A1)
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs
Duration : 1 h 22 min
Bit rate : 3 951 b/s
Count of elements : 652
Stream size : 2.32 MiB (0%)
Language : English
Default : No
Forced : No
Original source medium : Blu-ray
Menu
00:00:00.000 : en:Chapter 01
00:10:19.118 : en:Chapter 02
00:14:38.002 : en:Chapter 03
00:21:52.894 : en:Chapter 04
00:25:09.674 : en:Chapter 05
00:31:05.029 : en:Chapter 06
00:36:23.389 : en:Chapter 07
00:43:47.124 : en:Chapter 08
00:47:42.526 : en:Chapter 09
00:53:48.058 : en:Chapter 10
01:00:31.377 : en:Chapter 11
01:05:55.326 : en:Chapter 12
01:10:57.836 : en:Chapter 13
01:15:29.066 : en:Chapter 14
01:23:47.147 : en:Chapter 15