'Pipe'에 해당되는 글 2건

  1. 2013.07.26 ffmpeg 에서 pipe 출력(stdout) 으로 데이터 받기
  2. 2013.02.01 FFMPEG Pipe 관련 수정

1)

FILE 등의 C runtime 을 사용해서 ffmpeg 출력을 읽기하려면
result = _setmode( _fileno( stdin ), _O_BINARY );
등으로 입력을 꼭 binary 모드로 변경해야 한다

2)

출력의 wav 포맷 등 헤더에 크기가 포함되는 경우
정상적인 경우 값이 채워져 있겠지만, pipe 출력의 경우
미결정된 상황에서 데이터가 내보내지기 때문에 해당 값 체크에 유의

가령 WAV 파일의 경우 RIFF, DATA 다음에 파일 크기와 실제 데이터 길이가 오게 되지만
pipe 로 출력되는경우 해당 값이 0 으로 들어가 있다.

 

Posted by 김모작자
TAG Pipe

댓글을 달아 주세요

FFMPEG 을 Win32 App 에서 Pipe 를 이용하는 경우 간혹 심각한 blocking 에 걸려 멈추(freezing)는 경우가 발생한다.

현재까진 libavformat/file.c 에 있는 함수군이 의심이 되어 표준 I/O 함수가 아닌 Win32 함수로 변환하여 해결하였음
(정확한 이유는 모르겠으나 이 부분 교체후 r26400 버전에선 문제 해결)

file_read, file_write 함수만 수정하였다.

 

file.c

Posted by 김모작자
TAG ffmpeg, Pipe

댓글을 달아 주세요