holmes писал(а):Как с в2р отправить сырой H264 ?
На борту
- Код: Выделить всё
gst-launch v4l2src always-copy=false chain-ipipe=true ! capsfilter caps=video/x-raw-yuv,format='(fourcc)'NV12,width=1280,height=720,framerate='(fraction)'30 ! dmaiaccel ! dmaienc_h264 copyOutput=false ddrbuf=false encodingpreset=2 ratecontrol=2 intraframeinterval=30 idrinterval=60 targetbitrate=1000000 bytestream=true headers=false ! multiudpsink clients=192.168.1.12:3000 sync=false enable-last-buffer=false
Тут можно играть параметром bytestream, чтоб поток был либо байтстрим либо avc (я хз что для ffmpeg лучше).
на десктопе (192.168.1.12)
- Код: Выделить всё
gst-launch-0.10 -e -m udpsrc port=3000 buffer-size=300000 typefind=true do-timestamp=true ! "video/x-h264,format=(fourcc)I420,framerate=fraction)30/1,width=1280,height=720" ! ffdec_h264 ! fpsdisplaysink sync=false show-preroll-frame=false
видеосинк по вкусу, я для тестов обычно fpsdisplaysink под убунтой юзаю чтоб фпс отслеживать
приём под виндой на гстримере 0.10 аналогично
- Код: Выделить всё
gst-launch udpsrc port=3000 buffer-size=120000 ! capsfilter caps="video/x-h264,framerate=(fraction)30/1,width=1280,height=720" ! h264parse ! ffdec_h264 ! d3dvideosink sync=false show-preroll-frame=false
h264parse необязателен, но желателен