Я добился успеха на macos и linux с:
Linux:
ffmpeg \
-f v4l2 \
-framerate 25 -video_size 640x480 -i /dev/video0 \
-f mpegts \
-codec:v mpeg1video -s 640x480 -b:v 1000k -bf 0 \
http://localhost:8081/supersecret
Тест MacOS:
ffmpeg -f avfoundation -framerate 30 -video_size 640x480 \
-i "0" -f mpegts -codec:v mpeg2video -s 640x480 -b:v 1000k \
-bf 0 http://localhost:8081/supersecret
Я уже установил ffmpeg на windows просто нужна правильная команда.
Мой журнал ошибок:
/dev/video0: No such file or directory
Обновление:
После ffmpeg -list_devices true -f dshow -i dummy
я получил:
...
[dshow @ 000001985949ce80] DirectShow video devices (some may be both video and audio devices)
[dshow @ 000001985949ce80] "USB Camera"
[dshow @ 000001985949ce80] Alternative name "@device_pnp_\\?\usb#vid_0c45&pid_6340&mi_00#6&313cdc8e&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
...
Затем я пытаюсь запустить свой сервер с:
ffmpeg -f dshow -i video="USB Camera" -framerate 30 -video_size 640x480 -f mpegts -codec:v mpeg2video -s 640x480 -b:v 1000k -bf 0 http://localhost:8081/supersecret
И я ловлю этот журнал :
Input #0, dshow, from 'video=USB Camera':
Duration: N/A, start: 27271.559000, bitrate: N/A
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 30 fps, 30 tbr, 10000k tbn, 10000k tbc
[dshow @ 0000022a4be9f0c0] real-time buffer [USB Camera] [video input] too full or near too full (101% of size: 3041280 [rtbufsize parameter])! frame dropped!
Last message repeated 173 times
[tcp @ 0000022a4beae340] Connection to tcp://localhost:8081 failed: Error number -138 occurred
http://localhost:8081/supersecret: Unknown error
[dshow @ 0000022a4be9f0c0] real-time buffer [USB Camera] [video input] too full or near too full (101% of size: 3041280 [rtbufsize parameter])! frame dropped!