- 출처
http://aslike.egloos.com/3082696
- 컨테이너(Container) : 파일 그 자체 / ex) 유형(Type) : avi, Quicktime
- 스트림(Stream) : 데이터 원소(element)의 연속
- 프레임(Frame) : 데이터 원소 하나
- 패킷(Packet) : 응용프로그램에서 사용 가능할만큼의 raw 프레임으로 디코딩 가능한 데이터의 비트를 포함하는 데이터의 조각
- 먹싱(Muxing) : 오디오와 비디오를 하나의 파일로 합침
- 디먹싱(Demuxing) : 하나의 파일을 오디오와 비디오로 분리
- 스트리밍 기초 흐름도
- 동영상 파일로부터 비디오 스트림을 연다
- 비디오 스트림으로부터 패킷을 연다
- 패킷을 디코딩하여 프레임을 얻는다
- 만약 프레임이 완전하지 않으면 다음 프레임을 얻는다
- 프레임을 가지고 무엇을 한다
- 다음 패킷을 읽어들인다
입력 스트림을 열고 헤더를 읽는다.
avformat_close_input( )를 사용하여 꼭 닫아야 한다
- 파라미터
- ps : avformat_alloc_context( )으로 할당한 AVFormatContext의 포인터
- filename : 열기를 할 스트림의 파일 이름
- fmt : 구체적인 입력 포멧
- options : AVFormatContext로 채워진 dictionary와 demuxer-private 옵션
2.
int | avformat_find_stream_info (AVFormatContext *ic, |
avformat_open_input( ) 보다 더 많은 정보를 얻는다파일을 조금 더 읽어서 구체적인 정보를 AVFormatContext에 저장한다.
3.
void | av_dump_format (AVFormatContext *ic, int index, const char *url, int is_output) |
AVCodec * | avcodec_find_decoder (enum AVCodecID id) |
codecContext를 복사한다
int | avcodec_open2 (AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options) |
보기 메뉴 - 속성 관리자(property manager) - 새 프로젝트 속성 시트 추가 메뉴 - 속성 시트 이름 입력 - 추가
아래에서부터 위로 차례대로 적용되어 원하는 곳에 추가하면 된다
d3d9.lib
d3dx10d.lib
d3dx9d.lib
dxerr.lib
dxguid.lib
winmm.lib
comctl32.lib
2. 커맨드 창을 띄우고 MongoDB가 설치된 폴더로 이동한다
- 일반적으로 C:\Program Files\MongoDB\Server\3.0\bin 에 있다(mongo.exe가 있는 디렉토리)
3. 데이터를 저장할 폴더를 생성하고 경로를 설정한다
- 여기서 테스트로 C:\data\book 폴더를 설정하고 경로를 다음과 같이 입력한다
- mongod --dbpath c:/data/book
- 경로를 설정하면 waiting for connections 라는 문구가 마지막에 나오고 대기 상태로 있다
- 잘 생성이 되었으면 c:/data/book 경로에 다음과 같은 파일이 생성된다
4. 새로운 커맨드 창을 띄우고 mongo.exe 가 있는 디렉토리로 이동한 후 mongo 명령어를 입력하여 Mongo 쉘로 들어간다
- connecting to: test 라고 뜨는데 디폴트로 test db가 생성되고 아무 명령어도 안 치면 여기에 데이터가 저장됨
5. book DB 를 사용하기 위해 use book 명령어 입력
- db book 으로 변경되었다고 나온다
6. book DB 로 변경 후 member와 page에 데이터를 4개씩 8개 생성
> db.member.insert({name:"Kim hayoung", age:29, skill : ["Java", "Oracle"]});
> db.member.insert({name:"Park sumin", age:27, skill : ["Node.js", "Express"]});
> db.member.insert({name:"Lee naeun", age:31, skill : ["MongoDB", "Elastic"]});
> db.member.insert({name:"Hong jinho", age:33, skill : ["Linux", "Phthon"]});
> db.page.insert({number:"243", year:2011});
> db.page.insert({number:"216", year:2013});
> db.page.insert({number:"142", year:2015});
> db.page.insert({number:"72", year:2014});
- 위의 그림은 page 입력 후 insert를 입력하지 않아 에러가 난 것이다
7. 잘 생성되었는지 확인해본다
> db.member.find()
> db.page.find()
> show collections