前端请求m3u8

@RequestMapping("/school.m3u8")//这里要写标准的m3u8格式,否则有些播放器会不支持播放

    public void m3u8(

            HttpServletRequest request, HttpServletResponse response,

            final Model model) throws Exception {

//读取m3u8文件,放到res中

String res = ".....";

OutputStream out = response.getOutputStream();

response.addHeader("Content-Type","application/x-mpegURL");//为response添加响应头

                response.setStatus(200);

out.write(res.getBytes());

         out.flush();

}

-------------------ffmpeg相关

./configure --prefix=/usr  --enable-gpl --disable-ffplay --disable-ffserver --enable-version3 --enable-nonfree --disable-static --enable-shared --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-x11grab 

PKG_CONFIG_PATH=/root/LIB/lib/pkgconfig ./configure [other options here] --pkg-config-flags="--static"

PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure --prefix=/usr --enable-gpl --disable-ffplay --disable-ffserver --enable-version3 --enable-nonfree --disable-static --enable-shared  --enable-libfreetype --enable-libmp3lame --enable-libx264 --enable-libx265 --pkg-config-flags="--static"


./configure --prefix=/usr --enable-gpl --disable-ffplay --disable-ffserver --enable-version3 --enable-nonfree --disable-static --enable-shared  --enable-libfreetype --enable-libmp3lame --enable-libtheora  --enable-libx264 

mac下下载vcl 播放rtsp源

http://blog.csdn.net/r_hgt/article/details/48243569 公开的rtsp测试原
rtsp://218.204.223.237:554/live/1/0547424F573B085C/gsfp90ef4k0a6iap.sdp

ffmpeg -i rtsp://192.168.1.10:554/user=admin_password=tlJwpbo6_channel=1_stream=1.sdp?real_stream -b:v 300k -s 440x330 -g 8 -r 15 -an -hls_time 5 -hls_wrap 0 -hls_base_url ./ -hls_list_size 5 -hls_segment_filename /data/kindergarten/video/111/12/111_12file%09d.ts  /data/kindergarten/video/111/12/111_12.m3u8

转换成hls
ffmpeg -i rtsp://218.204.223.237:554/live/1/67A7572844E51A64/f68g2mj7wjua3la7.sdp -b:v 64k -g 8 -r 8 -an -hls_time 1 -hls_wrap 0 -hls_base_url './' -hls_list_size 3 -hls_segment_filename /data/video/'file%09d.ts'  /data/video/out.m3u8

-g关键针,gop_size 设置图像组大小 这里设置GOP大小,也表示两个I帧之间的间隔,gop高了 压缩率提高 体积变小 运算变大,默认值 250
-r 帧数
-an 禁止音频
-b:v 64k 每秒64kbps,设置输出文件的视频比特率为64 kbit/s
-hls_time 1 设置每片的长度, 默认值是2秒
-hls_wrap 0 子文件名字不重复,设置多少片之后开始覆盖,如果设置为0则不会覆盖,默认值为0.这个选项能够避免在磁盘上存储过多的片,而且能够限制写入磁盘的最多的片的数量
-hls_list_size 5,默认为也是5列.设置播放列表保存的最多条目,设置为0会保存有所片信息,

ffmpeg -rtsp_transport tcp -i rtsp://218.241.199.65:37686/Streaming/Channels/102?transportmode=unicast\&profile=Profile_2 -vcodec libx264 -f flv -b:v 200k -an -r 14 rtmp://IP:1935/hls/chao1

ffmpeg -i "rtmp://live.hkstv.hk.lxdns.com/live/hks" -vcodec libx264 -an -b:v 200k -r 15 -ar 44100 -f flv rtmp://IP:1934/hls/lihao

ffmpeg -i rtsp://218.204.223.237:554/live/1/67A7572844E51A64/f68g2mj7wjua3la7.sdp -b:v 256k -r 25 -an -s 320x240  -threads 2  -hls_time 2 -hls_wrap 100 -hls_base_url './' -hls_segment_filename /data/video/'file%03d.ts' /data/video/out.m3u8

a.上传


ffmpeg.exe -i a.mp4 -vcodec libx264 -f rtsp rtsp://IP:5050/ok


b.接收


ffmpeg -rtsp_flags listen -f rtsp -i rtsp://IP:5050/ok b.mp4




第一教室
ffmpeg -rtsp_flags listen -f rtsp -i rtsp://IP:5050/ok -b:v 150k -s 400*300 -g 8 -r 15  -an -hls_time 5 -hls_wrap 0 -hls_base_url ./ -hls_list_size 5 -hls_segment_filename /data/video/file%09d.ts  /data/video/out.m3u8 


ffmpeg -rtsp_flags listen -f rtsp -i rtsp://IP:5050/ok  -an -hls_time 5 -hls_wrap 0 -hls_base_url ./ -hls_list_size 5 -hls_segment_filename /data/video/file%09d.ts  /data/video/out.m3u8 




queketest.6655.la
第二教室
ffmpeg -i rtsp://124.230.164.254:554/1 -b:v 300k -s 440x330 -g 8 -r 15 -an -hls_time 5 -hls_wrap 0 -hls_base_url ./ -hls_list_size 5 -hls_segment_filename /data/video/filec1%09d.ts  /data/video/out1.m3u8


第三教室
ffmpeg -i rtsp://124.230.164.254:555/1 -b:v 300k -s 440x330 -g 8 -r 15 -an -hls_time 5 -hls_wrap 0 -hls_base_url ./ -hls_list_size 5 -hls_segment_filename /data/video/filec2%09d.ts  /data/video/out2.m3u8

你可能感兴趣的:(前端请求m3u8)