- Клиент — QuickTime версии 7 и выше
- Источник видео/audio — DirectShow
- В качестве формата сжатия выбран H264 как обеспечивающий отличное качество и поддерживаемый клиентом (1) на различных платформах.
- В качестве ПО для конвертации выбран VLC (VideoLAN) версии 0.8.6d, как обеспечивающий сжатие выбранного формата с источника (2).
- Для работы не используется графический интерфейс плеера.
Команда для запуска:
start vlc -vvvv --intf dummy --no-audio dshow:// :dshow-vdev="SplitCam Capture" :dshow-adev="none" :dshow-size="320x240" :dshow-fps=17 --sout #transcode{venc=x264{keyint=75,bframes=2},vcodec=h264,vb=64,scale=1,acodec=mp4a,
ab=128,threads=auto,fps=17}:duplicate{dst=display,dst=rtp{dst=192.168.0.1,ttl=127, port=20000,port-audio=20002,port-video=20004,name=name,email=email,description=description,url=url,sdp="http://:8383/05022008.sdp"}} --sout-allгде:
| -vvvv | уровень отладки |
| --intf dummy | использовать консоль вместо графического интерфейса плеера |
| --no-audio | полное отключение звука, работать только с видео |
| dshow:// | использовать DirecShow для захвата |
| :dshow-vdev="SplitCam Capture" | источник видео для захвата |
| :dshow-adev="none" | источник аудио для захвата |
| :dshow-size="320x240" | размер картинки при захвате |
| :dshow-fps=17 | частота кадров при захвате |
| --sout | вывод захваченного видео |
| #transcode{ | конвертировать захваченное видео/аудио |
| venc=x264{keyint=75,bframes=2} | параметры x264, не все параметры поддерживаются, подробнее тут |
| vcodec=h264 | кодек для видео — h264 (x264 — библиотека для кодирования кодеком h264) |
| vb=64 | битрейт видео |
| scale=1 | масштабирование видео |
| acodec=mp4a | кодек для аудио |
| ab=128 | битрейт аудио |
| threads=auto | количество потоков при кодировании, зависит от количества CPU в системе |
| fps=17 | частота кадров после кодирования |
| :duplicate{ | дублировать конвертированное видео/аудио |
| dst=display | дублировать с низким качеством для контроля, в дополнительное окно |
| dst=rtp{ | дублировать для вещания по протоколу RTP |
| dst=192.168.0.1 | IP сервера с которого будет вестись вещание |
| ttl=127 | время жизни TCP пакета, чем быстрее сеть, тем меньше может быть параметр |
| port=20000 | порт элементарного потока (не знаю, что это) |
| port-audio=20002 | порт для передачи аудио |
| port-video=20004 | порт для передачи видео |
| name=name,email=email,description=description,url=url | описание потока |
| sdp="http://:8383/05022008.sdp" | SDP описание потока формируемое на порту 8383 встроенного в VLC HTTP сервера |
| --sout-all | выбор всех элементарных потоков (тоже не знаю, что, но вроде нужно) |
После запуска плеера должно появиться 2 окна. В одном из них картинка с источника. После чего поток можно будет открыть в QuickTime как http://192.168.0.1:8383/05022008.sdp
В случае ошибок — читать сообщения в окне отладки.

Получить перечисленный выше набор параметров путём выставления галочек в графическом интерфейсе не представляется возможным… поэтому вот так, в командной строке. На моей машине загрузка процессора (Centrino Duo 1.73GHz) ~30%, задержка ~5сек., это видно на скриншоте, картинки разные в окошках. На скриншоте фильм, ему конечно битрейт видео надо было выставить чуть больше, чем 64, но для web-камеры без активного движения и этого хватает.

Помощь












