Raspberry Pi_Kor_22.1.5 FFMPEG 프로그램을 이용한 동영상 format 변환하기


Published Book on Amazon


All of IOT Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 1
All of IOT Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 2


출판된 한글판 도서


최신 라즈베리파이(Raspberry Pi)로 시작하는 사물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (상)
최신 라즈베리파이(Raspberry Pi)로 시작하는 사물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (하)


Original Book Contents


22.1.5  <FFMPEG> 프로그램을 이용한 동영상 format 변환하기

 

Pi에서 촬영한 동영상은 H.264 format를 사용하는데, 이 형식은 일반 사용자들이 많이 사용하지 않는 형식이다. 이를 일반 사용자들이 많이 사용하는 동영상 format으로 변환하기 위해서 <FFMPEG> 프로그램을 이용할 수 있다

 

   <FFMPEG> 프로그램 설치

 

<FFMPEG> 프로그램을 사용하려면 해당 프로그램을 다음과 같이 설치해야 한다.  

 

[명령 형식]

sudo   apt-get   install   ffmpeg

 

해당 명령을 실행하면 프로그램 설치에 대한 점검을 한 후 설치여부를 확인하게 된다. 계속 진행을 선택하면 아래와 같이 설치 작업이 시작된다

 

pi@raspberrypi ~ $ sudo apt-get install ffmpeg

Reading package lists... Done

Building dependency tree

Reading state information... Done

~

~ 중략

~

0 upgraded, 8 newly installed, 0 to remove and 39 not upgraded.

Need to get 5,174 kB of archives.

After this operation, 13.4 MB of additional disk space will be used.

Do you want to continue [Y/n]? y

~

~ 중략

~

Setting up libavfilter2:armhf (6:0.8.17-1+rpi1) ...

Setting up ffmpeg (6:0.8.17-1+rpi1) ...

W: Operation was interrupted before it could finish

 


 

   동영상 format 변환

 

<FFMPEG> 프로그램을 이용해 동영상을 변환하려면, 다음과 같은 형식의 명령을 사용한다.

 

[명령 형식]

ffmpeg   [[in-file option]  [-I  in-file]     [out-file options] out-file

 

[명령 개요]                        

    지정된 동영상을 다른 형식의 파일로 변환한다.

    user 권한    -- 일반 user.

 

[상세 설명]

    None

 

[주요 option]

-h, -?, -help, --help

Show help.

-formats

Show available formats. The fields preceding the format names have the following meanings:

D   Decoding available

E   Encoding available

-codecs

Show available codecs. The fields preceding the codec names have the following meanings:

D   Decoding available

E   Encoding available

V/A/S   Video/audio/subtitle codec

-i filename

input file name

-vframes number

Set the number of video frames to record.

-r fps

Set frame rate (Hz value, fraction or abbreviation), (default = 25).

-s size

Set frame size. The format is wxh (avserver default = 160x128, ffmpeg default = same as source). The following abbreviations are recognized:

-vcodec codec

Force video codec to codec. Use the "copy" special value to tell that the raw codec data must be copied as is.

 


 

[사용 Example]

여기서는 앞에서 Raspberry Pi로 촬영한 H.264 형식의 동영상을 MKV 형식으로 변환해 보도록 하겠다.

 

pi@raspberrypi ~/Image_Camera $ ffmpeg -r 30 -i test_motion1.h264 -vcodec copy test_motion1.mkv

ffmpeg version 0.8.17-6:0.8.17-1+rpi1, Copyright (c) 2000-2014 the Libav developers

  built on Mar 25 2015 00:39:58 with gcc 4.6.3

The ffmpeg program is only provided for script compatibility and will be removed

in a future release. It has been deprecated in the Libav project to allow for

incompatible Shell syntax improvements in its replacement called avconv

(see Changelog for details). Please use avconv instead.

[h264 @ 0x480660] Estimating duration from bitrate, this may be inaccurate

 

Seems stream 0 codec frame rate differs from container frame rate: 2400000.00 (2400000/1) -> 30.00 (30/1)

Input #0, h264, from 'test_motion.h264':

  Duration: N/A, bitrate: N/A

    Stream #0.0: Video: h264 (High), yuv420p, 1920x1080, 30 fps, 30 tbr, 1200k tbn, 2400k tbc

Output #0, matroska, to 'test_modion.mkv':

  Metadata:

    encoder         : Lavf53.21.1

    Stream #0.0: Video: libx264, yuv420p, 1920x1080, q=2-31, 1k tbn, 1200k tbc

Stream mapping:

  Stream #0.0 -> #0.0

Press ctrl-c to stop encoding

frame=  142 fps=  0 q=-1.0 Lsize=    9844kB time=10000000000.00 bitrate=   0.0kbits/s

video:9842kB audio:0kB global headers:0kB muxing overhead 0.017483%

 

작업이 완료된 후에 확인해 보면, 다음과 같이 MKV 파일이 새로이 생성되어 있는 것을 확인할 수 있다.

 

pi@raspberrypi ~/Image_Camera $ ls -l

-rw-r--r-- 1 pi pi 10080058 May 13 16:11 test_motion1.mkv

-rw-r--r-- 1 pi pi 10078296 May 13 14:51 test_motion1.h264

 


 

이제 MKV 형식의 동영상 파일을 play해 보면, 다음과 같은 내용을 확인할 수 있다.


그림 22‑5 MKV 파일을 이용한 동영상 확인

 


 

Leave a Reply