FFMpeg to encode and segment input video stream in the correct format for HTTP streaming protocol.
Download & Install HTTP Live Video Stream Segmenter and Distributor
# /usr/local/bin/live_segmenter <segment length> <output location> <filename prefix> <encoding profile>
M3U8 File:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:1
#EXTINF:10,
http://ip-address/streamingvideo/test.m3u8-00001.ts
#EXTINF:10,
http://ip-address/streamingvideo/test.m3u8-00002.ts
…
….
#EXTINF:10,
http://ip-address/streamingvideo/test.m3u8-00011.ts
#EXT-X-ENDLIST
Errors:
Segmenter error: Could not open input file, make sure it is an mpegts file:
ffmpeg: relocation error: /usr/local/lib/libavfilter.so.1: symbol av_expr_free, version LIBAVUTIL_50 not defined in file libavutil.so.50 with link time reference
Point FFMpeg to the proper files
# export LD_LIBRARY_PATH=/usr/local/lib
OR
# sudo ldconfig -v
We worked on RTMP (Live Red5 CAM) to iOS (iPhone or iPad). Get more help for HTTP Live Video Stream Segmenter and Distributor Contact Us
RTMP (Red5) -> FFMpeg -> Segementer -> .ts files -> iOS (m3u8)
Helpful links:
C++ RTMP Server – http://www.rtmpd.com/
mpegts-segmenter – https://github.com/ElegantCloud/mpegts-segmenter