ffmpeg를 사용하여 컴퓨터 간에 어떻게 스트리밍할 수 있나요?

ffmpeg를 사용하여 컴퓨터 간에 어떻게 스트리밍할 수 있나요?

저는 ffmpeg와 ffplay를 사용하여 두 컴퓨터 간에 원시 H.264 비디오를 스트리밍하고 있습니다. 전송 명령줄은 다음과 같습니다.

ffmpeg -i input.h264 -f mpegts udp:10.0.2.101:1234

그리고 이것은 수신 측입니다.

ffplay -f h264 -f mpegts udp://127.0.0.1:1234

문제는 송신측에서 원본 파일을 재생할 때 보이는 것보다 수신측에서 재생되는 품질이 훨씬 나쁘다는 것입니다. 네트워크는 실제로 내 컴퓨터(두 개의 가상 머신)에서 시뮬레이션된 네트워크이므로 패킷 손실 등이 없습니다.

내가 뭘 잘못했나요?

답변1

비디오 스트림을 다시 인코딩하고 있습니다. 비디오 코덱을 지정하지 않으면 ffmpeg가 하나를 선택합니다. 귀하의 경우 기본 설정이 있는 MPEG-2는 실제로 상당히 나빠 보일 것입니다.

비트스트림을 복사할 계획이라면 -c:v copy전송 명령에 옵션을 추가하세요.

관련 정보