我有一个.m3u8网址,即http://example.com/test.m3u8

我可以通过ffmpeg命令下载它:

ffmpeg -y -loglevel verbose -i "http://example.com/test.m3u8" -c copy -f mpegts test.mp4

但是我正在尝试手动执行此操作:

我尝试了以下方法:

1)下载m3u8文件:
wget -O test.m3u8 "http://example.com/test.m3u8"

2)然后将每个段下载到一个文件夹中:
aria2c -i test.m3u8

这将下载文件夹中的所有.ts文件。

3)然后我将它们合并
cat *.ts > out.ts

4),然后我尝试转换为mp4:
$ ffmpeg -i out.ts -c:v libx264 outputfilename.mp4
ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7.3.0 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-shared --enable-version3 --enable-omx
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
out.ts: Invalid data found when processing input

我终于得到以下上述错误。 Invalid data found when processing input。我也听说这些文件是加密的。所以我不确定该怎么做。

下面是一个示例.m3u8文件:
#EXTM3U
#EXT-X-VERSION:5
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:5
#UPLYNK-SEGMENT: fadd0d418aea4c5da8b87feec9b0acbc,00000000,segment
#UPLYNK-KEY:https://content-aapm1.uplynk.com/check?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc
#EXT-X-PROGRAM-DATE-TIME:2018-06-01T05:25:50.630000+00:00
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000000
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000000.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000001
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000001.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000002
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000002.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000003
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000003.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000004
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000004.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000005
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000005.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000006
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000006.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000007
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000007.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000008
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000008.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000009
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000009.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x0000000000000000000000000000000A
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G0000000A.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x0000000000000000000000000000000B
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G0000000B.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x0000000000000000000000000000000C
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G0000000C.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x0000000000000000000000000000000D
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G0000000D.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x0000000000000000000000000000000E
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G0000000E.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x0000000000000000000000000000000F
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G0000000F.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000010
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000010.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000011
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000011.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000012
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000012.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000013
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000013.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000014
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000014.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000015
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000015.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000016
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000016.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000017
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000017.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000018
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000018.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x00000000000000000000000000000019
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G00000019.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x0000000000000000000000000000001A
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G0000001A.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x0000000000000000000000000000001B
#EXTINF:4.0960,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G0000001B.ts?x=0&si=0
#EXT-X-KEY:METHOD=AES-128,URI="https://content-aapm1.uplynk.com/check2?b=fadd0d418aea4c5da8b87feec9b0acbc&v=fadd0d418aea4c5da8b87feec9b0acbc&r=g",IV=0x0000000000000000000000000000001C
#EXTINF:3.6405,
https://stgec-ausw-tmp.uplynk.com/80C078/ausw/slices/fad/10b98e7c615f43a98b180d51797e74aa/fadd0d418aea4c5da8b87feec9b0acbc/G0000001C.ts?x=0&si=0
#EXT-X-ENDLIST

最佳答案

关于cat问题。您是否在考虑 Material list ?
所有.ts文件均以BOM表开头,因此,如果您将它们收拾起来,它们将会损坏。

根据规范,您可以在媒体播放列表本身中找到所有必需的加密详细信息。

示例行:

#EXT-X-KEY:METHOD=AES-128,URI="http://example.com/path/to/resource.mp4/crypt.key?id=somekey"

其中包含加密算法和 key 的uri。
加密可以按列表或按轨道进行。在您的情况下,这是每首轨道。

边注:
我写了一些关于m3u8/ts的经历。也许它可以帮助您或给您一些新的想法:https://andreasvolkmann.github.io/posts/2018-04-27-m3u8-and-ts-segments/

关于linux:m3u8:如何从.m3u8中列出的段中手动下载并创建mp4,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50641251/

10-11 00:41