我有一个.m3u8 url,即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

我最终得到以下上述错误.处理输入时找到无效数据.我也听说这些文件是加密的.所以我不确定如何做到这一点.

下面是一个示例.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

解决方法:

关于猫问题.你在考虑BOM吗?
所有.ts文件都以BOM开头,所以如果你捕获它们,它们就会破坏.

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

示例行:

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

这包含加密算法和密钥的uri.
加密可以是每个列表或每个轨道.在你的情况下,它是每个轨道.

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

标签: bash, linux, ffmpeg, aria2, m3u8

相关文章推荐

添加新评论,含*的栏目为必填