|
너무 자세한 답변 해박한 지식에 대한 공유 감사합니다.
실제로 반신반의 하면서 질문을 올렸는데 이렇게 상세한 지식을 갖고계신 분이 있을줄이야
몰랐습니다.
근데 말이죠 제가 스트리밍을 잘 못 하고 있나 봅니다.
최초 스트리밍 서버(VLC)를 셋팅할때 대상이란 곳에 통신 프로토콜 선택하는 곳에 UDP로 통신했고
트랜스 코딩 옵션 프로파일 부분에 님께서 말씀하신 H.264 + AAC(TS)를 선택하고 셋팅했습니다.
그리고 받는쪽에선 당연히 UDP통신 모듈을 사용해서 받아서 바로바로 저장 하는데
bool __fastcall Common_SaveFile(AnsiString sFname, byte* pMsg)
{
try
{
if(DirectoryExists(sFname) == false)
CreateDir(sFname);
AnsiString sTmpstr = "test.TS";
FILE *fout;
sTmpstr = sFname + sTmpstr;
fout = fopen(sTmpstr.c_str(), "at+");
fwrite(pMsg, sTmpstr.Length(), 1, fout);
fclose(fout);
}
catch( ... )
{
return false;
}
return true;
}
보시면 아시겠지만 unsigned char로 받은 통신버퍼를 그대로 저장하거든요
그런데도 곰플레이어에서는 코덱을 찾을수 없다고 나오네요
그리고 스트리밍 플레이를 테스트 해보았는데 윈도우미디어로요
거기서는 이상하게도 다른 포맷은 코덱을 찾을수 없다고 나오고 유독 WMV + WMA(ASF)
플레이가 되는군요 그리고 음성은 안나오고요
제가 설정을 잘 못한건지 모르겠습니다.
그리고 마지막으로 VLC라는게 원본파일에 관계 없이 아무 포맷으로 보낼 수 있는건가요?
자세한 답변 너무 감사한데 또 이렇게 질문을 마구 던지니 송구스럽습니다.
그럼 즐거운 주말 되세요
Lyn 님이 쓰신 글 :
: 추가설명으로..
:
: 영상코덱 이외에 음성코덱 (Mp3, WMA, OGG) 등도 들어갑니다.
: 포맷에 따라선 자막이 들어가는 경우도 있지요.
:
: 즉...
:
: mkv라는 컨테이너 포맷 안에는 x264 등의 영상코덱으로 압축된 데이터와, ogg 등의음성코덱으로 압축된 데이터가 muxing 되어있죠...
:
:
: mk4
: 아제나 님이 쓰신 글 :
: : 동영상은 컨테이너와 코덱으로 나뉘어집니다.
: :
: : .avi
: : .mp4
: : .mkv
: : 이런 것은 컨테이너라고 하고요.
: :
: : H264
: : MPEG4
: : XVID
: : DIVX
: : 이런 것은 코덱이라고 하지요.
: :
: : 그리고 네트워크 전송을 위하여 동영상을 패킷타이징 하는 것을
: : 채널 코딩이라고 합니다. 보통 RAW Stream, RTP over UDP, TransportStream 등이 있지요.
: :
: : VLC 플레이어로 스트리밍 할 때, 코덱과 채널 코딩 방법를 선택할 수 있는데요.
: : 바로 받아서 플레이할 수 있는 채널 코딩 형식은 TransportStream (ts) 형식 밖에 없습니다.
: : 나머지는 전송된 데이터를 다시 합치거나 나누거나 따로 처리를 필요로 합니다.
: :
: : 그러니까 VLC에서 TS로 전송하시고, 저장을 .TS로 하시면
: : 곰플레이어나 팟플레이어 같은 프로그램으로 그대로 재생할 수 있습니다.
: : 코덱 선택은 곰플레이어나 팟플레이어가 지원하는 코덱이면 되는데 H264, AAC 쓰는게 가장 무난하겠지요.
: :
: : TS 형식은 우리가 흔히 사용하는 디지털 상용 방송에서 쓰는 방식이라 생각하시면 됩니다.
: : HDTV 저장하면 보통 .TP로 저장하죠. 사실 그 안에 내용은 TS 입니다.
: :
: :
: :
: : 고구마 색깔 님이 쓰신 글 :
: : : VLC 플레이어를 스트리밍 서버로 두고 클라이언트에서는 UDP로 받은 스트리밍 정보를
: : :
: : : 그대로 파일로 저장하고 싶은데
: : :
: : : 제가 임의로 확장자 .MP4 이렇게 해서 파일로 저장하고 곰플레이어로 플레이 하니까 코덱이 없다고 나오네요
: : :
: : : 스트리밍 서버에서 보낸 정보는 인코딩된 정보일것이고 그걸 스트리밍으로 받아서 그대로 파일로 쓰면 원본과
: : :
: : : 같은 파일이 될 것 같은데 그게 생각처럼 쉬운일이 아니네요
: : :
: : : 혹시 경험이 있으신 분은 답글 부탁드립니다. ^^
|