如何使用youtube-dl将下载的youtube视频刻录/硬字幕

此命令下载视频并将自动生成的youtube字幕嵌入文件中

youtube-dl.exe -ci -f "bestvideo[ext=mp4]"+"bestaudio[ext=m4a]" --write-auto-sub  --embed-subs --merge-output-format mp4 https://www.youtube.com/watch?v=k4rCdHsdiss

但是,仅嵌入字幕。我希望将其刻录/硬编码,以便可以在跑步机之类的非嵌入式支持平台上播放

我正在使用Windows 10

xuming_11 回答:如何使用youtube-dl将下载的youtube视频刻录/硬字幕

youtube-dl不能单独刻录字幕。您需要使用FFmpeg或avconv等后处理器。 youtube-dl在内部将其用于某些任务。成功使用bestvideo+bestaudio参数后,您已经在系统中安装了其中之一。 avconv是FFmpeg的分支,因此它们接受的参数基本相同。我将在这里展示FFmpeg的情况。

youtube-dl具有向后处理器添加参数的功能,但我看不到如何使用它来解决此任务。

其他可能性是使用--exec标志。遗憾的是,我现在没有Windows计算机,因此只写了Linux变体。

youtube-dl -f "[height=360][ext=mp4]+bestaudio[ext=m4a]" --write-sub --write-autosub --embed-subs --exec "mkdir temp && ffmpeg -i {} -vf subtitles={}:force_style='FontName=Arial' -acodec copy temp/{} && mv -f temp/{} {} && rm -r temp" --restrict-filenames AO4In7d6X-c

这是一个单行命令,但有一些缺陷:

  1. 您必须使用--restrict-filenames使其起作用。没有更好的文件名。
  2. 我看不出字幕样式有多个选择,i。 e。字体名称,字体颜色和字体大小。
  3. 非常麻烦。

因此,我最好的猜测是在使用youtube-dl下载视频后,手动使用FFmpeg或使用批处理脚本。尚未在Windows上进行测试,但应该可以正常工作。

ffmpeg.exe -i "input.mp4" -vf subtitles="filename='input.mp4':force_style='FontSize=20,FontName=Arial'" -c:v libx264 -x264-params crf=22 -preset fast -profile:v high "output.mp4"
  1. input.mp4必须是带有嵌入式字幕的文件。
  2. FFmpeg必须在libass的支持下进行编译。键入不带参数的ffmpeg.exe,然后查找--enable-libass。也建议使用libx264
  3. 要调整编码速度,可以使用其他预设。允许的值是超快,超快,非常快,更快,更快,中等,慢,慢,非常慢,安慰剂。更快的预设意味着更大的文件大小。
  4. 要调整质量,请使用crf参数。数字越小,质量越好,但是文件大小也越大。最佳的数字是16到30。
  5. 如果文件无法在某些旧播放器上播放,您可以尝试使用配置文件baseline并降低级别。
本文链接:https://www.f2er.com/2934623.html

大家都在问