วิธีเริ่มต้น Video Streaming ด้วย nginx ที่รันด้วย Docker ใน Local

Chaiwat Tungtongsoontorn
Tri Petch Digital
Published in
2 min readDec 13, 2022

ในฐานะผู้พัฒนาโปรแกรม ผมเคยอยากรู้ว่าทำ Video Streaming อย่างไรนะ? blog นี้จะเป็นวิธีการทำเบื้องต้น เพื่อให้รัน Streaming Video บนเครื่องของเรา ถ้าพร้อมแล้วไปลุยกันเลยครับ

ส่ิงที่ต้องมีในการรัน Streaming

  • FFmpeg — เครื่องมือในการเปลี่ยน format ไฟล์ และ stream วิดีโอไปที่เซอร์เวอร์ nginx ของเรา
  • Docker image — image ที่เราจะรัน nginx server ที่มี protocal rtmp ที่ใช้สำหรับ boardcast วิดีโอของเรา
  • VLC media player — โปรแกรมเล่นวิดีโอต่างๆ ที่เราจะมารับข้อมูลวิดีโอจาก rtmp server ของเรา

ขั้นตอนการทำ

  1. สิ่งที่ต้องทำขั้นแรกเลยคือ รัน Docker nginx ของเราขึ้นมา ด้วยคำสั่งดังนี้
$ docker run -p 1935:1935 --name nginx-rtmp tiangolo/nginx-rtmp

2. ส่ง Video ที่เราจะ Streaming ไปที่ nginx rtmp server ของเรา ให้เรารันคำสั่งดังนี้

$ ffmpeg -re -i <PATH_TO_YOUR_VIDEO_DIRECT>/<YOUR_VIDEO> -vcodec copy -c:a aac -b:a 160k -ar 44100 -f flv rtmp://<NGINX_SERVER>/live

## Example
$ ffmpeg -re -i ./tmp/video_example_1920_18mb.mp4 -vcodec copy -c:a aac -b:a 160k -ar 44100 -f flv rtmp://localhost/live

3. ทดลองดู vdo streaming บนเครื่องของเราด้วยโปรแกรม VLC ดังนี้

  • เปิดโปรแกรมแล้ว ไปที่เมนู Media Library
  • ใส่ url ของ nginx server ของเราด้วย rtmp://localhost/live

🎉🎉 เย้!! ตอนนี้เราสามารถดูวิดีโอผ่าน rtmp server ด้วย nginx ของเราได้แล้วเพียงไม่กี่ขั้นตอนที่เราทำกัน

ติดต่อเรา หรืออ่าน Blog เราเพิ่มเติมได้ที่
- https://medium.com/tri-petch-digital

--

--