1. FFMPEG build on RHEL7 n3.0.10 which could support SDL1.x/FFPLAY
Refer to
https://blog.youkuaiyun.com/hushui/article/details/81487407
2. m3u8/ts stream manually cat/cp
refer to
https://blog.youkuaiyun.com/hushui/article/details/81454265
3. ffmpeg direct conbine m3u8 ts Local files into one ts movie
ffmpeg -i index.m3u8 -c copy out.ts
Now you can use Use MediaCodec/Windows or FFMPEG/Linux convert your movie to H264/MPEG4 format etc.
4. HLS video stream with key encrypt
You must download and decrypt through HTTP with ffmpeg
example:
lake@localhost:~/tmp/hq$ ffmpeg -allowed_extensions ALL -i http://example.videocc.net/xxxx.m3u8 -c copy out.ts
ffmpeg version n3.0.10 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4)
configuration: --prefix=/usr --enable-shared --disable-static --enable-ffplay
libavutil 55. 17.103 / 55. 17.103
libavcodec 57. 24.102 / 57. 24.102
libavformat 57. 25.100 / 57. 25.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 31.100 / 6. 31.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
Input #0, hls,applehttp, from 'http://xxxxxxxxx.m3u8':
Duration: 00:13:05.83, start: 0.000000, bitrate: 0 kb/s
Program 0
Metadata:
variant_bitrate : 0
Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 58 kb/s
Output #0, mpegts, to 'out.ts':
Metadata:
encoder : Lavf57.25.100
Stream #0:0: Video: h264 ([27][0][0][0] / 0x001B), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 25 tbr, 90k tbn, 90k tbc
Stream #0:1: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, 58 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=19645 fps=136 q=-1.0 Lsize= 62218kB time=00:13:05.83 bitrate= 648.6kbits/s speed=5.46x
video:49157kB audio:6255kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 12.282977%
lake@localhost:~/tmp/hq$ ls
total 62224
-rw-r--r-- 1 lake sys 63711132 Aug 9 05:34 out.ts
lake@localhost:~/tmp/hq$ ffplay out.ts
ffplay version n3.0.10 Copyright (c) 2003-2017 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4)
configuration: --prefix=/usr --enable-shared --disable-static --enable-ffplay
libavutil 55. 17.103 / 55. 17.103
libavcodec 57. 24.102 / 57. 24.102
libavformat 57. 25.100 / 57. 25.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 31.100 / 6. 31.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
Input #0, mpegts, from 'out.ts': 0KB vq= 0KB sq= 0B f=0/0
Duration: 00:13:05.83, start: 1.480000, bitrate: 648 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x101]: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 59 kb/s
4.25 A-V: 0.005 fd= 1 aq= 12KB vq= 73KB sq= 0B f=0/0