FFMpeg 解码隐藏式字幕

FFMpeg 解码隐藏式字幕

我有 150 多个流 URL,有些有 608 个字幕,有些有 708 个字幕,有些没有字幕,还有一些分别包含两个或多个字幕。

目标:将 URL 输入到 FFMpeg 并让它输出每个流中存在的字幕类型。

当我使用网络流 URL 进行以下电影输入时,似乎没有得到任何可用的输出:

ffmpeg -f lavfi -i movie=input.ts[out+subcc]  -map 0:1  output.srt

输出:

semccart$ ffmpeg -f lavfi -i movie=https://hostname.com/master.m3u8?token [out+subcc]  -map 0:1  output.srt
[5] 16438
[6] 16439
-bash: -map: command not found
[6]   Done                    cdn=sa
bos-mpfnp:~ semccart$ ffmpeg version 3.2.2 Copyright (c) 2000-2016 the FFmpeg developers
  built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
  configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-libtheora --enable-libschroedinger --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libsoxr --enable-libspeex --enable-libass --enable-libbluray --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype --enable-libfribidi --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --disable-indev=jack --disable-outdev=xv --enable-audiotoolbox --enable-sdl2 --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/cc --enable-vda --enable-videotoolbox --arch=x86_64 --enable-yasm --enable-libx265 --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid --enable-nonfree --enable-libfdk-aac
  libavutil      55. 34.100 / 55. 34.100
  libavcodec     57. 64.101 / 57. 64.101
  libavformat    57. 56.100 / 57. 56.100
  libavdevice    57.  1.100 / 57.  1.100
  libavfilter     6. 65.100 /  6. 65.100
  libavresample   3.  1.  0 /  3.  1.  0
  libswscale      4.  2.100 /  4.  2.100
  libswresample   2.  3.100 /  2.  3.100
  libpostproc    54.  1.100 / 54.  1.100

这就是它挂起的地方。我也直接尝试过 TS 段。

此外,我该如何使用多个源 URL 大规模地执行此操作?

答案1

你见过堆栈溢出这个问题的答案是什么?

有些人使用此命令很幸运:

ffmpeg -i input.mov -an -vn -c:s copy -f rawvideo -map 0:s sub.txt

他们可以使用非 ts 文件结尾的视频。

相关内容