これは単純な問題であるに違いありませんが、FFMPEGによって作成されたM3U8ファイルには、必要なファイル名だけでなく、ファイルへの絶対パスが含まれているため、問題があります。エンコードされている間にストリームを表示できるようにしようとしていますが、これが最後のハードルのようです。
私のFFMPEGコマンドは(コンマを無視して)次のとおりです。
ffmpeg, -i, /Users/User/Documents/Java/server/data/media/1/1/Promo-2013.mov, -dn, -y, -f, mpegts, -c:a, libfdk_aac, -strict, -2, -ar, 48000, -b:a, 128000, -s, 640x360, -c:v, libx264, -b:v, 700000, -aspect, 640:360, -r, 25, -level, 3.0, -vprofile, baseline, -flags, +loop, -cmp, chroma, -coder, 0, -me_range, 16, -keyint_min, 25, -sc_threshold, 40, -i_qfactor, 0.71, -bt, 200k, -maxrate, 700000, -bufsize, 700000, -rc_eq, 'blurCplx^(1-qComp)', -qcomp, 0.6, -qmin, 10, -qmax, 51, -qdiff, 4, -level, 30, -g, 30, -async, 2, -partitions, +parti4x4+partp8x8+partb8x8, -subq, 5, -trellis, 1, -refs, 1, -vbsf, h264_mp4toannexb, -flags, -global_header, -map, 0, -f, segment, -segment_time, 10, -segment_list, /Users/User/Documents/Java/server/data/media/1/3/prog_index.m3u8, -segment_list_flags, +live, -segment_format, mpegts, /Users/User/Documents/Java/server/data/media/1/3/segment_%05d.ts
結果のファイルは次のとおりです。
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:12
#EXTINF:10.005333,
/Users/User/Documents/Java/server/data/media/1/10/segment_00000.ts
#EXTINF:11.952000,
/Users/User/Documents/Java/server/data/media/1/10/segment_00001.ts
#EXTINF:10.002667,
/Users/User/Documents/Java/server/data/media/1/10/segment_00002.ts
#EXTINF:10.008000,
/Users/User/Documents/Java/server/data/media/1/10/segment_00003.ts
#EXTINF:0.266667,
/Users/User/Documents/Java/server/data/media/1/10/segment_00004.ts
#EXT-X-ENDLIST
それはすべて完璧に機能しますが、ライブストリーミングには役に立たないため、完全な絶対パスではなく、たとえば'segment_00000.tsのみが必要です。これはごく普通のアプリケーションなので、何か間違ったことをしなければなりません。