| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #!/bin/bash
- # 推流到 Cloudflare Stream
- RTSP_SOURCE="rtsp://localhost:8554/camera1"
- VIDEO_SOURCE="$(dirname "$0")/videos/3.mp4"
- CLOUDFLARE_URL="rtmps://live.cloudflare.com:443/live/0a37e82197ac851a92dc5451dfe78485kb51e49994b6fd9e56b6f1fdfcd339fe6"
- echo "开始推流到 Cloudflare Stream..."
- echo "源: $VIDEO_SOURCE"
- echo "按 Ctrl+C 停止推流"
- echo ""
- ffmpeg \
- -rtsp_transport tcp \
- -i "rtsp://admin:Wxc767718929@192.168.0.64:554/Streaming/Channels/101" \
- -map 0:v:0 -map 0:a? \
- -c:v libx264 \
- -preset veryfast \
- -tune zerolatency \
- -profile:v baseline \
- -level 3.1 \
- -pix_fmt yuv420p \
- -g 30 -keyint_min 30 \
- -b:v 2500k -maxrate 2500k -bufsize 5000k \
- -c:a opus -strict -2 -ar 48000 -b:a 128k \
- -f whip "https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/8c108b4025d3278b188b443e8a6c5503kb51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/publish" \
- -headers "Authorization: Bearer ZrpMoQ15dCCe6rX0pKINzcb0eNdakSih-TmQrbq-"
- # 使用本地视频文件推流(循环播放)
- # ffmpeg -re -stream_loop -1 \
- # -i "$VIDEO_SOURCE" \
- # -c:v libx264 \
- # -preset veryfast \
- # -tune zerolatency \
- # -profile:v baseline \
- # -level 3.1 \
- # -g 60 -keyint_min 60 \
- # -pix_fmt yuv420p \
- # -c:a aac -ar 48000 -b:a 128k \
- # -f flv \
- # "$CLOUDFLARE_URL"
- # 方案2: 使用 WHIP (需要 FFmpeg 6.1+ 且编译了 WHIP 支持)
- # ffmpeg -rtsp_transport tcp \
- # -i "$RTSP_SOURCE" \
- # -c:v libx264 \
- # -preset veryfast \
- # -tune zerolatency \
- # -profile:v baseline \
- # -level 3.1 \
- # -g 30 -keyint_min 30 \
- # -pix_fmt yuv420p \
- # -c:a aac -ar 48000 -b:a 96k \
- # -f whip "https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/8c108b4025d3278b188b443e8a6c5503kb51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/publish" \
- # -headers "Authorization: Bearer ZrpMoQ15dCCe6rX0pKINzcb0eNdakSih-TmQrbq-"
|