I've been fiddling with this for a while now, and I can't seem to get get an artifact free second stream.
Setup:
- OBS video source = feed from IP camera via RTSP
- "Recording" to UDP out to IP address of recv'ing machine @ port 4242
- Container type = mpegts
- bitrate = 8192Kbps
- encoder = libx264
-audio = ac3 @128Kbps
-recv'ing machine opening network stream in VLC (v3.0.8) using "udp://@:4242"
-both machines on local GigE switch
I get artifacts occasionally, but regualary,a nd not necessarily on fast-motion. The artifacts are not in the source video feed. Nor are they present when streaming via RTMP to an internet conferencing service.
CPU usage in OBS is only about 10%. It happens regardless as to if I'm also streaming to the conferencing service or not.I was thinking perhaps dropped UDP packets. Things I've tried:
- using a different GigE switch
- varying the bitrate (4-50Kbps)
- USB webcam instead of IP cam.
- AMD accelerated libx264
- using rtp:// for URL and rtp_mpegts as transport type
- different rcv'ing machines
-varying keyframes from 1-250
- a few different encoder types (a number of combinations throw errors or will hang OBS)
- Adding "?=pkt_sze=1316" to the stream output URL
All of the above have some affect, but none eliminates the problem, and some introduce more (i.e. green screen tearing, frozen frames, etc...)
With using RTP rather than UTP, believe the packet loss that UDP can experience should be eliminated. My network interfaces aren't even breaking a sweat.
Given that the incoming video feed and the stream out to the internet are OK, I feel like this has to be a local problem: OBS settings, transport layer issues, or VLC choking.
Any other suggestions that I might try (or any other questions on my configuration)?
Thanks for this thread, and any help.