我仍然在尝试弄清楚我到底在用ffmpeg和dshow做什么。然而,我正在尝试流式传输我拥有的4k捕获设备,这样我就可以将其用作下游的IPTV服务器。
到目前为止,我有:
ffmpeg -rtbufsize 2100M -y -loglevel warning -f dshow -i video="Video (00 Pro Capture HDMI 4K+)" -s 3840x2160 -vcodec v410 -f rtp rtp://192.168.1.31:8554...however这会引发以下错误:
C:\Program Files\VideoLAN\VLC>ffmpeg -rtbufsize 2100M -y -loglevel warning -f dshow -i video="Video (00 Pro Capture HDMI 4K+)" -s 3840x2160 -vcodec libx265 -f rtp rtp://192.168.1.31:8554
[udp @ 000002c207a7d080] 'circular_buffer_size' option was set but it is not supported on this build (pthread support is required)
[udp @ 000002c207a8d380] 'circular_buffer_size' option was set but it is not supported on this build (pthread support is required)
x265 [info]: HEVC encoder version 3.1+2-b36c03e4e771
x265 [info]: build info [Windows][GCC 9.1.1][64 bit] 8bit+10bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x265 [info]: Main 4:2:2 10 profile, Level-5.1 (Main tier)
x265 [info]: Thread pool created using 8 threads
x265 [info]: Slices : 1
x265 [info]: frame threads / pool features : 3 / wpp(34 rows)
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 3
x265 [info]: Keyframe min / max / scenecut / bias: 25 / 250 / 40 / 5.00
x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
x265 [info]: References / ref-limit cu / depth : 3 / off / on
x265 [info]: AQ: mode / str / qg-size / cu-tree : 2 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress : CRF-28.0 / 0.60
x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip signhide tmvp b-intra
x265 [info]: tools: strong-intra-smoothing lslices=8 deblock sao
SDP:
v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
c=IN IP4 192.168.1.31
t=0 0
a=tool:libavformat 58.28.100
m=video 8554 RTP/AVP 96
a=rtpmap:96 H265/90000
[dshow @ 000002c207a69f80] real-time buffer [Video (00 Pro Capture HDMI 4K+)] [video input] too full or near too full (62% of size: 2100000000 [rtbufsize parameter])! frame dropped!
[dshow @ 000002c207a69f80] real-time buffer [Video (00 Pro Capture HDMI 4K+)] [video input] too full or near too full (64% of size: 2100000000 [rtbufsize parameter])! frame dropped!
[dshow @ 000002c207a69f80] real-time buffer [Video (00 Pro Capture HDMI 4K+)] [video input] too full or near too full (67% of size: 2100000000 [rtbufsize parameter])! frame dropped!
...
...
...
[dshow @ 000002c207a69f80] real-time buffer [Video (00 Pro Capture HDMI 4K+)] [video input] too full or near too full (99% of size: 2100000000 [rtbufsize parameter])! frame dropped!
Last message repeated 1 times
[dshow @ 000002c207a69f80] real-time buffer [Video (00 Pro Capture HDMI 4K+)] [video input] too full or near too full (100% of size: 2100000000 [rtbufsize parameter])! frame dropped!
Last message repeated 149 times
[dshow @ 000002c207a69f80] real-time buffer [Video (00 Pro Capture HDMI 4K+)] [video input] too full or near too full (99% of size: 2100000000 [rtbufsize parameter])! frame dropped!
[dshow @ 000002c207a69f80] real-time buffer [Video (00 Pro Capture HDMI 4K+)] [video input] too full or near too full (100% of size: 2100000000 [rtbufsize parameter])! frame dropped!我不确定为什么会发生这种情况,因为缓冲区大小几乎达到了dshow允许的最大值。
有没有人能建议一下补救办法呢?
谢谢
发布于 2019-07-23 08:15:49
在ffmpeg cmd中,您使用的是-vcodec v410。
v410是原始格式/未压缩格式。v410:压缩yuv 4:4:4,30bpp (32bpp) v410 -(未压缩4:4:4 10位/ SheerVideo?)
在ffmpeg中,rtp可能不支持原始格式打包,请检查此链接。RFC 4175 support in ffmpeg?
根据日志:
m=video 8554RTP/AVP96 a=rtpmap:96 H265/90000
rtp需要h265编解码器格式。
尝试更改打包格式
https://stackoverflow.com/questions/57116866
复制相似问题