나는 또한 VLC를 사용해 보았고 3 초 동안 대기 시간을 가질 수 없었다. FFmpeg는 경이로움을 느끼고 마침내 대기 시간 1 초를 제공했습니다.
mpeg2video와 UPD가 최상의 결과를 제공 했으므로 RTP 대기 시간이 약간 더 나 빠졌지 만 매우 가깝습니다. x264로 전환하면 대기 시간이 조금 더 걸리는 대신 품질이 향상되지만 실제로는 동적 콘텐츠의 양과 CPU의 속도에 따라 다릅니다. UDP로 작업하는 x264 밖에 없지만 RTP로 처리하는 방법이 있어야합니다.
재생할 수 있는지 확실하지 않습니다. 서버가 과중한 작업 부하를 받고 대기 시간이 현저해질 것입니다. 적어도 Linux에서는 창에 대해 알지 못합니다. 리눅스에
다음 명령 중 하나를 시도
:
$ ffmpeg -f x11grab -s 1600x900 -r 50 -vcodec mpeg2video -b:v 8000 -f rtp rtp://192.168.0.10:1234
또는
$ ffmpeg -f x11grab -s 1600x900 -r 50 -vcodec libx264 -preset ultrafast -tune zerolatency -crf 18 -f mpegts udp://192.168.0.10:1234
는, 화면 해상도 (
-s <your resolution>
)를 조정 (
-r <fps>
을), 재생 빈도 대역폭 (
-b:v <bits/s>
), 품질 (
-crf 18
또는
-qp 18
, 낮은 쪽이 좋음) 및 대상 ip : port.
Windows를 실행하는 경우 x11grab
대신 dshow
을 사용하십시오.
시계는 ffplay udp://192.168.0.10:1234
또는 ffplay sdp://192.168.0.10:1234
입니다.
이러한 옵션 중 어느 것도 소리를 스트리밍하지 않는다는 것을 기억하십시오. 나는 오디오를 스트리밍 할 때 그러한 낮은 대기 시간을 얻을 수 없었다. 그것은 가능 할지도 모르지만, 나는 방법을 이해하지 못했습니다.
가장 반응이 좋은 클라이언트는 이었습니다. VLC
은 네트워크 캐시가 0으로 설정되어 있어도 지연 시간이 너무 길었습니다. 스트림을 너무 자주 다시 동기화하려고 시도했기 때문에 실제로 캐시가 악화되었습니다.
자세한 내용이 필요하면 내 결과에 대해 post을 작성하십시오. 희망이 도움이됩니다. 나는 어떤 의견을 주셔서 감사합니다.^_^
FFmpeg에는 "tune zerolatency"와 같은 일부 x264 인코딩 설정이 있습니다.이 설정은 다음과 같이 유용 할 수 있습니다. http://trac.ffmpeg.org/wiki/StreamingGuide#Latency – rogerdpack
나는이 사이트를 실행하기 전에 귀하의 웹 사이트를 방문했습니다. 조. 제 생각에는 vlc와 ffplay는 거의 동일한 대기 시간을 가졌습니다. – user1767754
아래 URL과 같은 해상도 매개 변수를 전달하려고했지만 작동하지 않는 것으로 나타났습니다. rtsp로 기록 된 mp4 비디오는 320x240을 통과하더라도 고해상도를 유지합니다. ( "-t 30 -i \"rtsp : //xxx.xxxxxx.com/2 \ "-s 320x240 -acodec copy -vcodec copy -to" –