gpt4 book ai didi

javascript - AirPlay mp4文件时如何查看字幕vtt?

转载 作者:行者123 更新时间:2023-12-04 23:19:08 28 4
gpt4 key购买 nike

目标是在 AirPlay 运行时在电视中查看 vtt 格式的 html 字幕。
html代码:

<video preload="metadata" x-webkit-airplay="allow" src="a.mp4">
<track kind="subtitles" default="" src="en.vtt" srclang="en">
<track kind="subtitles" src="de.vtt" srclang="de">
<track kind="subtitles" src="es.vtt" srclang="es">
<track kind="subtitles" src="fr.vtt" srclang="fr">
</video>
问题是当启用 AirPlay 时,电视上的视频和音频播放,但没有显示字幕。
我尝试使用 ffmpeg 将 vtt/srt 字幕包含到 mp4 元数据中,并且字幕与 VLC 一起使用,但在 AirPlay 此文件时不起作用
ffmpeg -i 8499.mp4 -i 8499.en.vtt -map 0:v -map 0:a -c copy -map 1 -c:s:0 mov_text -metadata:s:s:0 language=en 8499.en.mp4
ffmpeg -i 8499.mp4 -i 8499.en.srt -map 0:v -map 0:a -c copy -map 1 -c:s:0 srt -metadata:s:s:0 language=en 8499.en.mp4
还尝试发送 .m3u8 没有运气。你们中的任何人都知道在 AirPlay 时带有 .mp4 和 .vtt 的简单 .m3u8 的基本格式是如何工作的?
AirPlay 的标准字幕解决方案是什么?

最佳答案

我对 iOS 不 Airplay 来自 <video> 的 VTT 字幕并不感到惊讶到 Airplay 接收器。
iOS(可能还有 tvOS)仅支持 1 种嵌入式字幕/字幕格式:MP4 Timed Text / MPEG-4 Part 17 .有时它被称为 Quicktime Timed Text。 Safari 还支持 <video> 的 VTT(但不支持 SRT) ,但这仅在 Safari 中。
您的 ffmpeg 之一例子很接近。如果您想播放带字幕的 MP4 文件,您必须以 SRT 开头字幕文件作为输入。不是 MP4 定时文本文件(远不如 SRT 常见)。使用 mov_text将对其进行编码。
这是我在 another answer 中找到的示例与这个问题有关。ffmpeg -i infile.mp4 -i infile.srt -c copy -c:s mov_text outfile.mp4注:-c 的顺序如果您使用 -c copy,命令很重要.您必须在它之后指定任何源流更改

关于javascript - AirPlay mp4文件时如何查看字幕vtt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70575646/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com