linux搭建ssr流媒体播放器,java代码进行推流
仅供学习
首先得去liunx安装ssr并搭建服务器,基于ffmpeg进行的推流。
git上拉去源码:
git clone https://github.com/ossrs/srs.git
进入你git到本地的文件地址:
cd ./srs/trunk/
然后编译srs:
./configure && make
编译完成就可以运行srs:
./objs/srs -c conf/srs.conf
可以查看运行状态:
./etc/init.d/srs status
然后浏览器访问:linux的ip+端口(192.168.1.27:8080)

这样就启动成功了。
SRS默认端口是8080,可以修改配置文件更改conf/srs.conf的配置

这样就可以进行推流了
导入maven依赖
org.bytedeco javacv-platform 1.5.7
可以使用 JavaCV 提供的类和方法来进行对 FFmpeg 的操作,包括视频的读取、解码、编码、剪切、合并、转码等。我这儿就推流。
// 视频源private static FFmpegFrameGrabber ffmpeg=null;// 推送private static FFmpegFrameRecorder recorder=null;/*** api进行视频推流* @param inputUrl 推流输入地址* @param outputUrl 推流目标地址*/public static void startSteam(String inputUrl,String outputUrl){try {// 初始化ffmpeg实例ffmpeg = new FFmpegFrameGrabber(inputUrl);ffmpeg.start();// 初始化recoder实例recorder=new FFmpegFrameRecorder(outputUrl,ffmpeg.getImageWidth(),ffmpeg.getImageHeight());// 设置格式和编码recorder.setFormat("flv");recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);// 设置比特率(kbps)recorder.setVideoBitrate(200);// 设置声道recorder.setAudioChannels(1);// 开始推流recorder.start();Frame frame;while ((frame=ffmpeg.grab())!=null){recorder.record(frame);}}catch (Exception e){e.printStackTrace();}finally{// 释放资源if (recorder!=null){try {recorder.close();recorder.release();}catch (Exception e){e.printStackTrace();}}if (ffmpeg!=null){try {ffmpeg.close();ffmpeg.release();}catch (Exception e){e.printStackTrace();}}}}
流的名字随便取,
然后用ffplay.exe拉取
命令:
ffplay.exe rtmp://127.0.0.1:1935/live/home
效果图

成功,(找不到元素)有个报错是因为我没有装音频输出设备。
当然你也可以用VLC视频工具去获取流,然后播放

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
