2012-03-14 1 views
0

서버에서 클라이언트로 비디오 (오디오 없음)를 스트리밍하고 싶습니다. 나는 libx264를 사용하여 비디오를 인코딩하고 ffmpeg로 디코딩 할 것입니다. 나는 고정 된 설정을 사용할 계획이다 (최소한 클라이언트와 서버 모두 미리 알려줄 것이다). 압축 된 비디오를 컨테이너 형식 (예 : mp4 또는 mkv)으로 배치하는 것을 피할 수 있는지 궁금합니다.서버에서 인코딩 할 때 libx264를 사용하고 클라이언트에서 디코딩 할 때 libffmpeg를 사용하여 비디오 만 스트리밍하는 데 필요한 최소 메타 데이터 량은 얼마입니까?

지금은 x264_encoder_encode를 사용하여 프레임을 인코딩 할 수 있습니다. 나는 압축 된 프레임을 되찾아 모든 프레임에 대해 그렇게 할 수 있습니다. ffmpeg가 압축 된 프레임을 디코딩 할 수 있도록 어떤 추가 정보가 필요합니까? (더 자세한 정보가 필요합니다), 더 중요한 것은 libx264로 어떻게 얻을 수 있습니까? NAL 정보 (x264_nal_encode?)를 생성해야한다고 가정합니다. 동영상을 제작하는 데 필요한 최소한의 요소와 조각을 함께 묶는 방법에 대한 아이디어가 있다면 도움이 될 것입니다.

답변

0

최소한의 정보가 각 프레임의 NAL 단위라는 것을 알았습니다. 이것은 원시 h264 스트림을 제공합니다. 이 파일을 파일에 쓰려면 .h264를 추가하면 VLC를 사용할 수 있습니다. ffmpeg를 사용하여 이러한 파일을 열 수도 있지만,이를 스트리밍하려면 RTSP를 사용하는 것이 더 합리적입니다. 그 좋은 오픈 소스 라이브러리는 Live555입니다 : http://www.live555.com/liveMedia/

FAQ에서 엔코더의 출력을 live555로 보내는 방법에 대해 언급하고 있으며 클라이언트와 서버 모두를위한 소스가 있습니다. 아직 코딩을 끝내지 못했지만 합리적인 솔루션처럼 보입니다.