Таким образом, у вас есть только два процесса [114086]tar[114087] и вам не нужно снова и снова ссылаться на [114088]cp[114089].[113635].
Я играл с камерой ffmpeg и logitech C920 на моем маршрутизаторе OpenWRT (TP-Link WDR3600, MIPS cpu на частоте 560 мГц), используя вашу конфигурацию. При 640x480 и выше моя система работала ненадежно. Я попробовал запустить ffmpeg в одиночку без транскодирования (мой маршрутизатор вообще не способен на транскодирование, слишком слабый процессор) и наблюдать за потоком с помощью VLC:
ffmpeg -f v4l2 -input_format h264 -video_size 320x400 -i /dev/video0 -copyinkf -codec copy -f mpegts udp://192.168.1.100:20000
При 640x480 видео искажалось, разрешение 800x600 или лучше вообще не работало, при этом ffmpeg выдавал тонны этих "немонотонных DTS..." сообщений. 320x400 было нормально. Видеовыход MJPEG работал намного лучше, и я смог запустить C920 со скоростью 1920x1080 и 15 кадров в секунду, со скоростью передачи данных выше 50 Мбит/с, но MJPEG также не был на 100% безошибочным. Похоже, что у камеры возникли проблемы с H264, по крайней мере, с ffmpeg. В H264 камера давала постоянный битрейт около 3.2 Мбит/с независимо от того, какое разрешение/частоту я пытался установить.
Но вернемся к делу. Чтобы заставить h264 работать с ffserver, я изменил раздел "Feed", изменив "Format" и прокомментировав StartSendOnKey в разделе "stream":
Format mpegts ... #StartSendOnKey
добавив строку "Launch" в разделе "Feed":
Launch ffmpeg -f v4l2 -input_format h264 -video_size 320x400 -i /dev/video0 -copyinkf -codec copy
и изменив MaxBandwidth на 50000
я использовал vlc в качестве клиентского программного обеспечения.
Я использую эту конфигурацию, и она хорошо работает файл server.conf:
HTTPPort 1235
RTSPPort 1234
HTTPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 100000
#CustomLog –
#########################################
## usb cam: logitec c920
#########################################
<Feed camfeed.ffm>
File /tmp/camfeed.ffm
FileMaxSize 500K
#allow only localhost to publish feed
ACL allow 192.168.1.149
</Feed>
<Stream usbcam.mov>
Feed camfeed.ffm
Format rtp
#cam defaults:
VideoSize 800x600
VideoFrameRate 24
VideoBitRate 400
VideoCodec libx264
NoLoop
NoAudio
Preroll 0
StartSendOnKey
</Stream>
######################################
# ffmpeg cmd:
######################################
# ffmpeg -y -s 800x600 -f video4linux2 -i /dev/video0 -c:v libx264 -tune zerolatency -an http://192.168.1.149:1235/camfeed.ffm