1)
FILE 등의 C runtime 을 사용해서 ffmpeg 출력을 읽기하려면
result = _setmode( _fileno( stdin ), _O_BINARY );
등으로 입력을 꼭 binary 모드로 변경해야 한다
2)
출력의 wav 포맷 등 헤더에 크기가 포함되는 경우
정상적인 경우 값이 채워져 있겠지만, pipe 출력의 경우
미결정된 상황에서 데이터가 내보내지기 때문에 해당 값 체크에 유의
가령 WAV 파일의 경우 RIFF, DATA 다음에 파일 크기와 실제 데이터 길이가 오게 되지만
pipe 로 출력되는경우 해당 값이 0 으로 들어가 있다.
반응형