I have a beaglebone black that I am trying to stream live video from, to an OSX computer. The streaming client potion seems to work if I point it to a local ffserver.
root@beaglebone:~# ffmpeg -f v4l2 -s 320x240 -r 30 -i /dev/video0 http://127.0.0.1:8090/feed1.ffm
ffmpeg version N-78848-gf114839 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.9.2 (Debian 4.9.2-10)
configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=--static --extra-cflags='-O3 -I/root/ffmpeg_build/include -mfpu=neon -mtune=cortex-a8' --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --enable-gpl --enable-libass --enable-libfreetype --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree
libavutil 55. 19.100 / 55. 19.100
libavcodec 57. 27.101 / 57. 27.101
libavformat 57. 27.100 / 57. 27.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 38.100 / 6. 38.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 101977.117890, bitrate: 36864 kb/s
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 320x240, 36864 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
Output #0, ffm, to 'http://127.0.0.1:8090/feed1.ffm':
Metadata:
creation_time : 2016-03-03 05:32:52
encoder : Lavf57.27.100
Stream #0:0: Video: mjpeg, yuv422p, 320x240, q=2-31, 100 kb/s, 30 fps, 1000k tbn, 20 tbc
Metadata:
encoder : Lavc57.27.101 mjpeg
Side data:
cpb: bitrate max/min/avg: 200000/0/100000 buffer size: 200000 vbv_delay: -1
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
However, if I point it at a remote (my computer's) ffserver it throws an error
root@beaglebone:~# ffmpeg -f v4l2 -s 320x240 -r 30 -i /dev/video0 http://192.168.200.40:8090/feed1.ffm
ffmpeg version N-78848-gf114839 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.9.2 (Debian 4.9.2-10)
configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=--static --extra-cflags='-O3 -I/root/ffmpeg_build/include -mfpu=neon -mtune=cortex-a8' --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --enable-gpl --enable-libass --enable-libfreetype --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree
libavutil 55. 19.100 / 55. 19.100
libavcodec 57. 27.101 / 57. 27.101
libavformat 57. 27.100 / 57. 27.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 38.100 / 6. 38.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 102012.942038, bitrate: 36864 kb/s
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 320x240, 36864 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
[ffm @ 0x1427df0] no encoder found for codec id 141
http://192.168.200.40:8090/feed1.ffm: Invalid argument
It appears the 141nd codec in this AVCodecID enum is AV_CODEC_ID_VP8 /AV_CODEC_ID_PICTOR depending on whether or not AV_CODEC_ID_MPEG2VIDEO_XVMC is defined? https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/avcodec.h
Also including my ffserver configuration.
HTTPPort 8090
HTTPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 10000
CustomLog -
NoDaemon
<Feed feed1.ffm>
File ./feed1.ffm
Truncate
ACL allow localhost
ACL allow 192.168.200.0 192.168.200.255
</Feed>
<Stream test.mjpg>
Feed feed1.ffm
Format mpjpeg
NoAudio
VideoSize 320x240
VideoFrameRate 30
StartSendOnKey
VideoBitRate 400
VideoIntraOnly
Strict -1
PreRoll 0
</Stream>
<Stream status.html>
Format status
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
</Stream>
Anyways I have no idea how to approach this problem. Any pointers would be appreciated.
did you try to check if the problem is the server side? Did you use some ping in http://192.168.200.40:8090 ?? The server responds ? I'm saying this 'cause it could be caused by a firewall issue, for example.