วิธีเริ่มต้น Video Streaming ด้วย nginx ที่รันด้วย Docker ใน Local
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 ของเรา
ขั้นตอนการทำ
- สิ่งที่ต้องทำขั้นแรกเลยคือ รัน 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