Node搭建直播服务端
实现的RTMP/HTTP/WebSocket/HLS/DASH流媒体服务器插件 Node-Media-Server
- 简单搭建 MediaServer.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | const NodeMediaServer = require('node-media-server'); const config = { rtmp: { port: 1935, chunk_size: 60000, gop_cache: true, ping: 30, ping_timeout: 60 }, http: { port: 8000, allow_origin: '*' } }; var nms = new NodeMediaServer(config) nms.run(); |
- 启动
1 | node MediaServer.js |
直播推流
使用命令行直接推送需要播放的视频流到指定的地址 完整的跨平台解决方案,用于记录,转换和流传输音频和视频。FFmpeg
- 如果你有一个音视频编码为H.264+AAC的视频文件转为直播:
1 | ffmpeg -re -i INPUT_FILE_NAME -c copy -f flv rtmp://localhost/live/STREAM_NAME |
- 或者有个其他编码格式,需要转为h.264+AAC的编码再转直播:
1 | ffmpeg -re -i INPUT_FILE_NAME -c:v libx264 -preset superfast -tune zerolatency -c:a aac -ar 44100 -f flv rtmp://localhost/live/STREAM_NAME |
flutter客户端
smart_player 项目demo码云地址

image.png

image.png

image.png