동일한 ffmpeg 명령을 사용하면 무작위로 비디오가 없습니다.

동일한 ffmpeg 명령을 사용하면 무작위로 비디오가 없습니다.

명령은 다음과 같습니다.

ffmpeg -i rtmp://localhost/myapp/obs -c:a libfdk_aac -b:a 32k -c:v libx264 -f flv rtmp://localhost/hls/obs_low

내 RTMP 서버는 게시된 모든 스트림을 기록하므로 모두 볼 수 있습니다. 이상한 점은 rtmp://localhost/myapp/obs스트리밍하는 동안 위의 ffmpeg 명령을 실행하면 출력 파일에 오디오만 있고 비디오는 없다는 것입니다. 그리고 터미널 출력에서:

Stream mapping: Stream #0:0 -> #0:0 (aac (native) -> aac (libfdk_aac))

하지만 같은 명령을 다시 실행하면 영상이 나올 수도 있습니다. 무작위로 비디오가 있거나 없습니다. 비디오가 있으면 터미널에 다음 출력이 표시됩니다.

Stream mapping: Stream #0:1 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:0 -> #0:1 (aac (native) -> aac (libfdk_aac))

'audio-only' 명령의 전체 출력:http://pastebin.com/zL0ctvTZ

'성공' 명령의 전체 출력:http://pastebin.com/DQ1XJ1wM

답변1

인터리빙 갭이 큰 것 같습니다. 이 -analyzeduration 1G -probesize 50M -i rtmp://...값은 스트림 누락과 캡처 시작 지연 사이의 균형을 나타내므로 시험해 보는 것이 좋습니다. 분석 및 프로브 크기의 기본값은 5M이므로 지속적으로 스트림 드롭아웃이 발생하지 않을 때까지 약간 더 큰 값을 사용해 보십시오. 먼저 프로브 크기를 실험해 보세요. 다른 것을 지정할 필요가 없을 수도 있습니다.

관련 정보