WINDOWN
:loop
ffmpeg -re -stream_loop -1 -i 1.mp4 -vf "scale=1280:720" -b:v 1M -maxrate 1M -bufsize 2M -c:v libx264 -preset fast -c:a aac -b:a 128k -reconnect 1 -reconnect_at_eof 1 -reconnect_streamed 1 -reconnect_delay_max 2 -f flv rtmp://a.rtmp.youtube.com/live2/4z65-9wpk-ejx0-k95d-4z6m
goto loop
UBUNTU
while true; do
ffmpeg -re -stream_loop -1 -i 1.mp4 -vf "scale=1280:720" -b:v 1M -maxrate 1M -bufsize 2M -c:v libx264 -preset fast -c:a aac -b:a 128k \
-reconnect 1 -reconnect_at_eof 1 -reconnect_streamed 1 -reconnect_delay_max 2 \
-f flv rtmp://a.rtmp.youtube.com/live2/4z65-9wpk-ejx0-k95d-4z6m
done
Replay rtmp
========================================================
#!/bin/bash
# === CẤU HÌNH ===
INPUT="rtmp://27.74.246.165/0/0" # Việt Nam (nguồn vào)
STREAMS=(
"rtmp://27.74.246.165/1/1" # Singapore
)
# === KIỂM TRA NGUỒN STREAM TRƯỚC KHI CHẠY ===
check_input() {
ffprobe -v error -i "$INPUT" -show_streams > /dev/null
return $?
}
# === BẮT ĐẦU RESTREAM ===
start_restream() {
echo "[INFO] ✅ START..."
START_TIME=$(date "+%H:%M:%S") # Lấy thời gian hiện tại
echo "[INFO] Restream bắt đầu từ $INPUT vào lúc $START_TIME"
CMD="ffmpeg -re -i $INPUT"
for STREAM in "${STREAMS[@]}"; do
CMD+=" -c:v copy -c:a copy -f flv \"$STREAM\""
done
# Chạy ffmpeg trong background
eval $CMD &
# Lấy PID của ffmpeg
FFMPEG_PID=$!
# Thông báo khi kết thúc hoặc ffmpeg dừng
echo "[INFO] 🛑 Restream đã dừng hoặc gặp lỗi."
}
# Kiểm tra đầu vào và bắt đầu restream nếu kết nối thành công
while true; do
check_input
if [ $? -ne 0 ]; then
echo "[ERROR] Không kết nối được nguồn RTMP!"
echo "[INFO] Đang thử lại sau 10 giây..."
sleep 10 # Chờ 10 giây trước khi thử lại
else
start_restream
# Chờ cho đến khi ffmpeg kết thúc (PID đã dừng)
wait $FFMPEG_PID
# Sau khi ffmpeg dừng, quay lại vòng lặp và kiểm tra lại nguồn
echo "[INFO] Quay lại kiểm tra nguồn RTMP..."
fi
done
========================================================
Để kill tiến trình đang chiếm giữ cổng 2025
sudo lsof -i :2025
Ví dụ kết quả:
========================================================
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
your-app 1234 user 3u IPv4 12345 0t0 UDP *:2025
========================================================
Ở đây, PID là 1234.
sudo kill -9 1234