Hello I am trying to stream a webcam video using ffmpeg and ffserver. I am new on this and that's why I am asking for some help.
Webcam Model is Logitech C920. It supports the following: [video4linux2,v4l2 @ 0x9cbc1c0] Raw : yuyv422 : YUV 4:2:2 (YUYV) : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896 1920x1080 2304x1296 2304x1536 [video4linux2,v4l2 @ 0x9cbc1c0] Compressed: h264 : H.264 : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896 1920x1080 [video4linux2,v4l2 @ 0x9cbc1c0] Compressed: mjpeg : MJPEG : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896 1920x1080 I run the following command to stream video to the server: ffmpeg -v verbose -s 640x480 -r 30 -f video4linux2 -i /dev/video0 http://serverip/feed1.ffm On the server side, ffserver.conf looks like this: Port 8090 # bind to all IPs aliased or not BindAddress 0.0.0.0 # max number of simultaneous clients MaxClients 1000 # max bandwidth per-client (kb/s) MaxBandwidth 1000000 # Suppress that if you want to launch ffserver as a daemon. NoDaemon <Feed feed1.ffm> File /tmp/feed1.ffm FileMaxSize 5M </Feed> <Stream test1.mpg> Feed feed1.ffm Format mpeg VideoBitRate 500 VideoFrameRate 30 VideoSize 320x240 Noaudio </Stream> <Stream test1.mjpeg> Feed feed1.ffm Format mjpeg VideoBitRate 4000 VideoFrameRate 30 VideoSize 320x240 Noaudio </Stream> <Stream stat.html> Format status </Stream> When I use VLC to play the mjpeg stream using a computer on the same Server network, it works really good. But when I connect externally from another IP, I am able to see few frames and then it gets frozen. I run ffserver stats and it shows: Connection Status Number of connections: 5 / 1000 Bandwidth in use: 12000k / 1000000k # File IP Proto State Target bits/sec Actual bits/sec Bytes transferred 1 stat.html 128.173.193.43 HTTP/1.1 HTTP_WAIT_REQUEST 0 0 0 2 test1.mjpeg 70.208.149.23 HTTP/1.1 WAIT_FEED 4000k 110k 613k 3 test1.mjpeg 128.173.193.43 HTTP/1.1 WAIT_FEED 4000k 3285k 351M 4 test1.mjpeg 128.173.193.43 HTTP/1.1 WAIT_FEED 4000k 3283k 355M 5 feed1.ffm(input) 198.82.196.151 HTTP/1.1 RECEIVE_DATA 1000k 3937k 427M Number 2 is the external IP, and the bit rate was different than the other one. What does this mean? Should I decrease the bitrate to allow external IP's get a better quality/frame rate from the server? Also, what format/codec should I use for better performance/quality? Thanks JP __________________________________ Jean Paul Talledo Vilela Embedded Hardware Team Leader Center for Technology Development Virginia Tech Transportation Institute<https://mail.vtti.vt.edu/owa/redir.aspx?C=tSCEP4qYxEWdcgiClwiP9fcov7Fk7dAIPUBUCV03qYkK04ihuGQLdqYSpoGFcrTxhn97o8nr9ys.&URL=http%3a%2f%2fwww.vtti.vt.edu%2f> (540) 231-1081 _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user
