Chrome과 휴대 전화간에이 기능을 사용하고 있습니다.
그리고 대기 시간은 실제로 1 초 미만입니다.
나는 내 컴퓨터에서 그것을 성공적으로 복제하려고 노력했습니다.
ffmpeg -f video4linux2 -i /dev/video0 -s 320x200 -r 50 -deadline realtime -vcodec libvpx -f webm -fflags nobuffer udp://10.0.0.55:9002
그리고 다른 쪽에서는 ffplay를 사용합니다.
여전히 몇 초의 지연이 있습니다.
결국 내 컴퓨터에서 Android 전화로 스트리밍하고 싶지만 지연 시간은 좋아야합니다.
편집 -이것은 훨씬 잘 작동합니다. 이 부분을 조금만 면도 할 수 있다면 기쁠 것입니다.
ffmpeg -vcodec rawvideo -f video4linux2 -i /dev/video0 -s 320x200 -r 25 -vcodec libvpx -f rtp -deadline realtime rtp://10.0.0.55:9002
답변
문제는 하드웨어 트랜스 코딩 대신 소프트웨어 트랜스 코딩을 사용한다는 사실에 기인합니다 .
일반적으로 변환에서 하드웨어 가속을 사용하는 경우 대기 시간은 1 초 미만 (보통 밀리 초)입니다. 소프트웨어에서 수행되는 경우 대기 시간은 1 초 이상입니다.
FFmpeg는 하드웨어 가속을 지원하지만 일반적으로 작동하도록하기가 까다 롭습니다.
https://trac.ffmpeg.org/wiki/HWAccelIntro
반면에 Chrome은 컴퓨터와 Android 휴대 전화에서 모두 VP8 및 H264 (사용 가능한 경우) 하드웨어 인코딩 / 디코딩을 지원합니다.