필자의 경우 비디오 스트림은 Android MediaRecorder입니다. [업데이트] 일부 온라인 정보에서 비디오 스트림은 일반적으로 setOutputFile (FileDescriptor fd) 함수에서 fd로 제공 될 수 있습니다. 비디오 스트림에서 프레임을 캡처/잡는 방법은 무엇입니까?
프레임을 캡처 관련 게시물
은 여기에 있습니다 : " Processing Android video frame by frame while recording"한 대답은 :
- 열고 NDK 사용하여 스트림 (아마도 API를 구현에 따라)
- 스트림의 바이트를 수정합니다 - 각 프레임은 별도의 패킷으로 전송됩니다. 카메라에서 각 패킷을 가져 와서 수정해야합니다. 색상 바꾸기 또는 번역이 가능합니다. OpenGL을 사용하여 유리 효과를 추가하여 이미지를 완전히 수정할 수도 있습니다. 효과.
- ...
그러나 나는/라이브러리/캡처 비디오 스트림에서 각 프레임을 잡기 위해 사용할 수있는 API 모른다. 는
내가 "wiki: Streaming media with ffserver"
읽기 (나는 비디오 파일 사용는 FFmpeg에 프레임을 인코딩 할 수 있었다)하지만 난에 프로그램을 만드는 방법에 대해 명확하지 않다 C/C++로부터/잡아 프레임을 캡처하려면 비디오 스트림.
예제 및 튜토리얼과의 연계가 인정 될 것입니다.
감사합니다. 사실 FFmpeg 라이브러리를 사용하여 비디오 파일을 디코딩하고 각 프레임을 처리 한 다음 다른 비디오 파일로 인코딩합니다. 그것은 작동합니다. 지금은 입력 비디오 파일을 입력 비디오 스트림으로 변경합니다. 그러나 ffmpeg의 예제는이 주제를 다루지 않습니다. – user1914692
질문이 명확하지 않습니다. 원하는 것에 대한 자세한 정보를 제공해주십시오. 어떤 물줄기를 제공하고 싶은가? 그들 중 일부는 RTP, RTMP 또는 MPEGTS입니다. [Streamingguide] (http://ffmpeg.org/trac/ffmpeg/wiki/StreamingGuide)를 선택하면 도움이 될 것입니다. –
내 게시물에는 "내 경우 엔 비디오 스트림이 Android MediaRecorder에서 가져온 것입니다."라고 씁니다. 전에는 주제에 대해 손댈 수 없을 것 같아요. 나는 ffmpeg 문서에 관련된 튜토리얼을 읽었다. 그러나 문제는 API 예제가 존재하지 않는다는 것입니다. 비디오 스트림에서 각 프레임을 캡처/캡처하는 데 사용할 수있는 API/라이브러리를 모르겠습니다. 그러나 어쨌든 당신을 감사하십시오. – user1914692