nginx-flv

reghao e2584f33bd 监听 1935 和 8080 两个端口, 分别提供 rtmp 和 http 服务 2 days ago
.gitignore fff9942f6f add .gitignore 2 days ago
Dockerfile bbf78baecb add nginx-flv 2 days ago
README.md bbf78baecb add nginx-flv 2 days ago
build.sh bbf78baecb add nginx-flv 2 days ago
docker-compose.yml e2584f33bd 监听 1935 和 8080 两个端口, 分别提供 rtmp 和 http 服务 2 days ago
init_ngxflv.sh bbf78baecb add nginx-flv 2 days ago
nginx.conf 6726dc2e2f 不提供 https 2 days ago

README.md

启动 ngxflv

使用 docker compose 启动

docker compose up -d

推流

文件推流

ffmpeg -hide_banner -re -i test.mp4 -c copy -f flv rtmp://127.0.0.1/rtmp/cam1

PC 摄像头麦克风推流

ffmpeg -hide_banner \
    -thread_queue_size 2048 \
    -f video4linux2 -video_size 848x480 -framerate 30 -i /dev/video0 \
    -thread_queue_size 2048 \
    -f alsa -ac 2 -i pulse \
    -vcodec libx264 \
    -acodec aac \
    -b:v 4M \
    -b:a 128K \
    -max_delay 1000000 -g 5 \
    -preset:v ultrafast -tune:v zerolatency \
    -vf "drawtext=fontsize=28:fontcolor=red:text='${cam_name}-%{localtime}'" \
    -f flv rtmp://127.0.0.1/rtmp/cam1

HLS 协议推流

ffmpeg -hide_banner -re -i test.mp4 \
    -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 \
    -strict -2 -ac 1 \
    -f flv -q 10 rtmp://127.0.0.1/hls/cam1

ffmpeg -hide_banner -f v4l2 -framerate 10 -i /dev/video0 -q 10 -vcodec libx264 -acodec aac \
    -vf drawtext=fontcolor=white:fontsize=40:fontfile=test.ttf:line_spacing=7:text='%{localtime}':x=20:y=20 \
    -f flv rtmp://127.0.0.1/hls/cam1

拉流

ffplay 拉流

ffplay -hide_banner -i rtmp://127.0.0.1/rtmp/cam1
# 无缓冲模式播放(内网延迟控制在 5s 内)
ffplay -hide_banner -fflags nobuffer -i rtmp://127.0.0.1/rtmp/cam1

web 端 flv 拉流

http://127.0.0.1/live?app=rtmp&stream=cam1
http://127.0.0.1/live.flv?port=1935&app=rtmp&stream=cam1

web 端 hls 拉流

# hls 拉流
http://127.0.0.1/hls/cam1.m3u8