gpt4 book ai didi

html - 从 YouTube-DL 自动生成 HTML5

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

我正在使用 youtube-dl 下载我存储在 YouTube 上的视频。它使我能够下载各种格式、缩略图和字幕。

有什么方法可以自动生成 HTML5 <video>下载文件的片段?

例如,我希望最终结果是 .txt 文件,其中包含:
<video poster="file-160.jpg" >
<source src="file-135.mp4" type="video/mp4; codecs=mp4a.40.2, avc1.42001E">
<source src="file-43.webm" type="video/webm; codecs=vorbis, vp8.0">
...
<track kind="subtitles" src="file-160.en.srt">
</video>

目前,我有一个文件列表,如:

  • 文件 135.mp4
  • 文件 18.mp4
  • 文件 134.mp4
  • 文件 160.mp4
  • 文件-43.webm
  • 文件 5.flv
  • 文件 36.3gp
  • 文件 17.3gp
  • 文件-160.jpg
  • 文件 160.en.srt

  • 我可以在它们上运行一些 Python/Ruby/bash 来生成 <source src="..." ,但问题是,我不知道每个视频的编解码器是什么,所以我无法生成 ; codecs=部分。

    使用 avconvffmpeg我可以获得编解码器,但不是以适合嵌入 HTML 的格式。

    我对问“我应该使用什么工具”持谨慎态度 - 但有没有办法让 avconv/ffmpeg/youtube-dl 以我可以放入 HTML5 标签的格式吐出编解码器信息?

    或者,有没有办法让 YouTube-DL 只吐出具有已知编解码器的 HTML5 兼容文件?

    最佳答案

    type属性以描述容器格式的 MIME 类型开头。您可以轻松找到所有可能格式的 MIME 类型。
    每种容器格式都可以支持多种音频/视频编解码器。 codecs type 的参数属性用于确定客户端是否能够在获取文件之前播放文件,但这不是强制性的。如果未指定,浏览器将下载并尝试解码视频。
    如果您想自娱自乐并自己生成编解码器 ID,您必须查看 RFC6381在某些情况下,在编解码器引用。
    对于 YouTube 上的某些容器格式,例如 webm这更容易,因为它类似于 video/webm;codecs="vp8, vorbis"video/webm;codecs="vp9, opus"对于其他像基于 ISO 的格式,它更复杂,因为它可以包含编码参数。您也许可以使用ffmpeg 获得其中一些。通过发送 RTP生成 SDP .mp4 的示例与 H.264/AVCAAC (目标地址可以是任何东西,因为您实际上不会发送任何东西)

  • 视频:ffmpeg -i input.mp4 -c:v copy -an -f rtp rtp://...
  • 音频:ffmpeg -i input.mp4 -c:a copy -vn -f rtp rtp://...
  • 寻找 profile-level-id在每个输出中。

  • 对于 AVC流编解码器将是 avc1.profile-level-id , 对于 AAC mp4a.40.profile-level-id等等
    另见: html5 video tag codecs attribute
    youtube-dl您可以使用 -F, --list-formats获取可用格式和 -f, --format仅下载特定格式。

    关于html - 从 YouTube-DL 自动生成 HTML5 <video> 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33691785/

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