그것들은 엄연한 시디 레코딩 프로그램들입니다.
요즘 티비에서 선전한다는 디비디 실시간 레코더 예기하시는것 같은데요?
그건 단순히 레코더만 달린게 아닙니다.
그 기기는 동영상에 대한 실시간 인코딩, 디코딩이 가능하고도 남는 하드웨어 파워로 만들어지는 데이터를 실시간으로 레코딩하거나, 임의의 기억장치에 일정한 크기로 잘라서 계속 저장하고, 일정크기가 넘어가면 고속으로 레코딩을 하게 되겠죠.
님께서 필요한것이라 보는건 동영상의 실시간 인코딩 하드웨어와의 연계나, 알고리즘의 접목으로 실시간으로 인코딩하면서 버퍼에 데이터를 쌓아두고, 레코딩하는 것을 구현하는게 젤일것 같군요.
단, 인코딩 속도가 레코딩 속도를 못따라 가면 반항하는 레코더를 볼겁니다.
(외람된 말씀이오나, 리눅스 커널만 포팅해서는 아무짝에도 쓸데가 없답니다. 쓸만한 프로그램과 열심히 사용해줄 유저가 없는한은 커널 그 자체만은 일반 사용자에겐 쓰레기 소릴 듣게 되죠. 하지만, 쓸만한 프로그램이 아직은 넘쳐나죠.ㅋㅋ)
어느날 문득 잠자다 깨었을때...
내 주변에 아무도 없다는걸 깨닫기까진 상당한 시간이 필요하다.
난 아직, 홀로됨에 익숙하지 않은걸까?
예전에 윈도우용으로 VCD 연주기를 만들었었던적이 있는데요, iso9660 형식으로 파일을 생성하고 내용을 쓸수만 있다면 VCD 형식에 맞게 만드는게 그리 어려운 일은 아닙니다. mpeg 파일을 실시간으로 인코딩 할 수 있다면 입력되는 영상들을 계속 인코딩해서 인코딩이 끝나는대로 파일로 저장하구요(\MPEGAV\AVSEQ01.DAT 던가 그렇습니다.), 영상 입력이 끝나거나 설정해놓은 용량이 다하면 잽싸게 인덱스 파일들의 형식에 맞추어 파일들을 만들어서 해당 디렉토리에 써주면 됩니다. (\VCD\INFO.VCD던가 하는거하고 그외에도 몇개 더 있는거 같은데 기억이 잘...) 데이타의 오프셋 계산과 뭐 그런 일들이 관건이 될거 같습니다. 한 비트만 삐끗해도 플레이어들이 무한루프를 돈다거나 죽어버리는 일이 가끔 있습니다. ^_^
스펙북이 있었는데 지금은 찾을수가 없네요. 혹시 참고 하시려면 제 VCD Player의 소스를 보세요. 좀 많이 허접하지만요... -_-;; Video.h와 Video.cpp 부분이 VCD 스펙 디코딩해주는 부분입니다. ReadEntries()라는 함수에서 읽어오는 내용들이 VCD의 전체적인 내용들입니다. 참! 이 소스는 VCD 1.0 스펙과 VCD 2.0 스펙을 모두 플레이할수 있게 되어 있는데요 VCD 1.0 스펙만 사용하실거라면 아마 실시간 레코딩 등을 하기 아주 쉬우실겁니다. (보통 대부분 VCD들은 VCD 1.0입니다) 근데, VCD 2.0으로 하시려면 좀 머리 복잡하실수도... 소스도 2.0때문에 좀 복잡해보일수도 있어요. 2.0에서는 DVD와 거의 비슷한 정도의 복잡한 VCD가 가능하거든요. 메뉴를 구성한다거나 메뉴의 특정 부분을 클릭하면 분기를 한다거나, 특정 동영상이나 소리를 루핑 한다거나 하는 일들이 가능하지요.
당연히 불가능하죠.
그것들은 엄연한 시디 레코딩 프로그램들입니다.
요즘 티비에서 선전한다는 디비디 실시간 레코더 예기하시는것 같은데요?
그건 단순히 레코더만 달린게 아닙니다.
그 기기는 동영상에 대한 실시간 인코딩, 디코딩이 가능하고도 남는 하드웨어 파워로 만들어지는 데이터를 실시간으로 레코딩하거나, 임의의 기억장치에 일정한 크기로 잘라서 계속 저장하고, 일정크기가 넘어가면 고속으로 레코딩을 하게 되겠죠.
님께서 필요한것이라 보는건 동영상의 실시간 인코딩 하드웨어와의 연계나, 알고리즘의 접목으로 실시간으로 인코딩하면서 버퍼에 데이터를 쌓아두고, 레코딩하는 것을 구현하는게 젤일것 같군요.
단, 인코딩 속도가 레코딩 속도를 못따라 가면 반항하는 레코더를 볼겁니다.
(외람된 말씀이오나, 리눅스 커널만 포팅해서는 아무짝에도 쓸데가 없답니다. 쓸만한 프로그램과 열심히 사용해줄 유저가 없는한은 커널 그 자체만은 일반 사용자에겐 쓰레기 소릴 듣게 되죠. 하지만, 쓸만한 프로그램이 아직은 넘쳐나죠.ㅋㅋ)
어느날 문득 잠자다 깨었을때...
내 주변에 아무도 없다는걸 깨닫기까진 상당한 시간이 필요하다.
난 아직, 홀로됨에 익숙하지 않은걸까?
답변 감사합니다.제가 지금 테스트 하고 있는 장비는 dvr입니다.
답변 감사합니다.
제가 지금 테스트 하고 있는 장비는 dvr입니다.
cdrtools를 크로스 컴파일하는 것도 저한테는 상당한 일이었는데...
짧은 지식의 한계를 체감하고 있습니다.
SVCD 포맷에 맞추어 데이터를 집어 넣으려 하는데...
막막하다는 표현밖에...
(커널을 포팅하기만 하면 의미가 없긴 없겠군요...:-)
미래를 수정할 수 있는 때는 현재이다.
Re: 당연히 불가능하죠.
단 한명밖에 쓰지 않는 OS라도 가치는 있습니다. 쓰레기라는 표현은 매우 불쾌하군요. 리눅스를 왜 만지는지 궁금하네요.
ps. 지금의 리눅스도 토발즈의 사적인 OS에서 시작했습니다.
No Pain, No Gain.
불쾌해 하지 마시길...저분은 유저 입장에서 실용성이 없는 OS가 어
불쾌해 하지 마시길...
저분은 유저 입장에서 실용성이 없는 OS가 어떤 의미가 있겠느냐고?
피보나찌 님께서는 개발자의 입장을 말씀하신 거 겠지요??
리눅스를 쓰레기라고 지칭한 것은 아니니 노여움 거두시지요...
혹시 제 게시물이 다툼으로 번질까봐 걱정되어서 중재하고 싶어 써봅니다.
그나저나
실시간 레코딩을 하기 위한 정보좀...주세요...
미래를 수정할 수 있는 때는 현재이다.
예전에 윈도우용으로 VCD 연주기를 만들었었던적이 있는데요, iso966
예전에 윈도우용으로 VCD 연주기를 만들었었던적이 있는데요, iso9660 형식으로 파일을 생성하고 내용을 쓸수만 있다면 VCD 형식에 맞게 만드는게 그리 어려운 일은 아닙니다. mpeg 파일을 실시간으로 인코딩 할 수 있다면 입력되는 영상들을 계속 인코딩해서 인코딩이 끝나는대로 파일로 저장하구요(\MPEGAV\AVSEQ01.DAT 던가 그렇습니다.), 영상 입력이 끝나거나 설정해놓은 용량이 다하면 잽싸게 인덱스 파일들의 형식에 맞추어 파일들을 만들어서 해당 디렉토리에 써주면 됩니다. (\VCD\INFO.VCD던가 하는거하고 그외에도 몇개 더 있는거 같은데 기억이 잘...) 데이타의 오프셋 계산과 뭐 그런 일들이 관건이 될거 같습니다. 한 비트만 삐끗해도 플레이어들이 무한루프를 돈다거나 죽어버리는 일이 가끔 있습니다. ^_^
스펙북이 있었는데 지금은 찾을수가 없네요. 혹시 참고 하시려면 제 VCD Player의 소스를 보세요. 좀 많이 허접하지만요... -_-;; Video.h와 Video.cpp 부분이 VCD 스펙 디코딩해주는 부분입니다. ReadEntries()라는 함수에서 읽어오는 내용들이 VCD의 전체적인 내용들입니다. 참! 이 소스는 VCD 1.0 스펙과 VCD 2.0 스펙을 모두 플레이할수 있게 되어 있는데요 VCD 1.0 스펙만 사용하실거라면 아마 실시간 레코딩 등을 하기 아주 쉬우실겁니다. (보통 대부분 VCD들은 VCD 1.0입니다) 근데, VCD 2.0으로 하시려면 좀 머리 복잡하실수도... 소스도 2.0때문에 좀 복잡해보일수도 있어요. 2.0에서는 DVD와 거의 비슷한 정도의 복잡한 VCD가 가능하거든요. 메뉴를 구성한다거나 메뉴의 특정 부분을 클릭하면 분기를 한다거나, 특정 동영상이나 소리를 루핑 한다거나 하는 일들이 가능하지요.
http://i-vcdp.sourceforge.net
여기에서 zip으로 묶어놓은 소스를 보셔도 되고 cvs에 있는 소스를 보셔도 됩니다.
=-=-=-=-=-=-=-=-=
http://youlsa.com
댓글 달기