다음 인코더 등에서 2PASS , 1PASS 설정하는게 있었는데

특별한게 아니라(?) H.264 인코더에서 제공하는 기본적인 기능이었네?


아무튼 2PASS의 경우 1PASS에서는 비트레이트를 어떻게 할지 분석하고(아마도 화면 바뀌는 순간 등을 확인하는 듯)

2PASS에서 실질적인 인코딩을 진행한다고 한다.


ffmpeg -y -i input -c:v libx264 -b:v 2600k -pass 1 -an -f mp4 /dev/null && \

ffmpeg -i input -c:v libx264 -b:v 2600k -pass 2 -c:a aac -b:a 128k output.mp4

[링크 : https://trac.ffmpeg.org/wiki/Encode/H.264]

'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

ffmpeg h264 encoding 옵션  (0) 2019.02.22
ffmpeg으로 비디오 비트레이트 바꾸기  (0) 2019.02.22
ffmpeg 레이턴시 관련 옵션 조사  (0) 2018.12.16
ffmpeg / ffplay cli interactive interface  (0) 2018.11.30
ffmpeg concat  (0) 2018.11.05
ffmpeg concat  (0) 2018.10.10
Posted by 구차니

댓글을 달아 주세요

-c:a copy를 통해 오디오는 손대지 않고(AAC 같은건 못 건드리네.)

비디오만 비트레이트 변경할 수 있다.


$ ffmpeg -i viedeo.mp4 -b:v 2M -maxrate 2M -bufsize 1M  -c:a copy video_low.mp4 

[링크 : https://trac.ffmpeg.org/wiki/Limiting%20the%20output%20bitrate]

[링크 : https://opensource.com/article/17/6/ffmpeg-convert-media-file-formats]

'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

ffmpeg h264 encoding 옵션  (0) 2019.02.22
ffmpeg으로 비디오 비트레이트 바꾸기  (0) 2019.02.22
ffmpeg 레이턴시 관련 옵션 조사  (0) 2018.12.16
ffmpeg / ffplay cli interactive interface  (0) 2018.11.30
ffmpeg concat  (0) 2018.11.05
ffmpeg concat  (0) 2018.10.10
Posted by 구차니

댓글을 달아 주세요

-fflags nobuffer는 초기 속도에 영향을 안주는 것 같네..


probesize integer (input)

Set probing size in bytes, i.e. the size of the data to analyze to get stream information. A higher value will enable detecting more information in case it is dispersed into the stream, but will increase latency. Must be an integer not lesser than 32. It is 5000000 by default.

[링크 : https://www.ffmpeg.org/ffmpeg-formats.html#Format-Options]


-r[:stream_specifier] fps (input/output,per-stream)

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


As an input option, ignore any timestamps stored in the file and instead generate timestamps assuming constant frame rate fps. This is not the same as the -framerate option used for some input formats like image2 or v4l2 (it used to be the same in older versions of FFmpeg). If in doubt use -framerate instead of the input option -r.


As an output option, duplicate or drop input frames to achieve constant output frame rate fps.

[링크 : https://ffmpeg.org/ffmpeg.html#Video-Options]


Also setting -probesize and -analyzeduration to low values may help your stream start up more quickly (it uses these to scan for "streams" in certain muxers, like ts, where some can appears "later", and also to estimate the duration, which, for live streams, the latter you don't need anyway). This should be unneeded by dshow input.


Reducing cacheing at the client side can help, too, for instance mplayer has a "-nocache" option, other players may similarly has some type of pre-playback buffering that is occurring. (The reality is mplayers -benchmark option has much more effect). 

[링크 : https://trac.ffmpeg.org/wiki/StreamingGuide#Latency]

    [링크 : https://stackoverflow.com/.../how-to-minimize-the-delay-in-a-live-streaming-with-ffmpeg]


+

2018.12.20

ffmpeg -h full | grep 'analyzeduration\|probesize'


-probesize         <int>        .D.... set probing size (from 32 to INT_MAX)

-analyzeduration   <int>        .D.... specify how many microseconds are analyzed to probe the input (from 0 to INT_MAX) 

[링크 : https://lists.ffmpeg.org/pipermail/ffmpeg-user/2013-March/014297.html]


고정적으로 5초 이상 잡히는건 이 녀석 때문이었던 듯?

analyzeduration integer (input)

Specify how many microseconds are analyzed to probe the input. A higher value will enable detecting more accurate information, but will increase latency. It defaults to 5,000,000 microseconds = 5 seconds. 

[링크 : https://www.ffmpeg.org/ffmpeg-all.html]


+

-probesize 32 -analyzeduration 0 

만세~!

'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

ffmpeg h264 encoding 옵션  (0) 2019.02.22
ffmpeg으로 비디오 비트레이트 바꾸기  (0) 2019.02.22
ffmpeg 레이턴시 관련 옵션 조사  (0) 2018.12.16
ffmpeg / ffplay cli interactive interface  (0) 2018.11.30
ffmpeg concat  (0) 2018.11.05
ffmpeg concat  (0) 2018.10.10
Posted by 구차니

댓글을 달아 주세요

ffmpeg를 실행하고 ?를 누르고 엔터치면 아래처럼 무언가 도움말이 나온다.

key    function

?      show this help

+      increase verbosity

-      decrease verbosity

c      Send command to first matching filter supporting it

C      Send/Queue command to all matching filters

D      cycle through available debug modes

h      dump packets/hex press to cycle through the 3 states

q      quit

s      Show QP histogram


c 누르고 하면 먼가 이상한게 뜨는데.. 찾아도 잘 안나온다.

Enter command: <target>|all <time>|-1 <command>[ <argument>]  


찾아보니.. 필터별로 명령어를 보내는 거라고..

libavcodec 쪽으로도 명령어 보내서 네비게이션 가능하려나?

[링크 : https://stackoverflow.com/questions/48635380/ffmpeg-interactive-mode-help-options]

[링크 : https://ffmpeg.org/ffmpeg-filters.html#sendcmd_002c-asendcmd]

[링크 : https://ffmpeg.org/ffmpeg-filters.html]


+

요건 ffplay

while playing

       q, ESC

           Quit.


       f   Toggle full screen.


       p, SPC

           Pause.


       m   Toggle mute.


       9, 0

           Decrease and increase volume respectively.


       /, *

           Decrease and increase volume respectively.


       a   Cycle audio channel in the current program.


       v   Cycle video channel.


       t   Cycle subtitle channel in the current program.


       c   Cycle program.


       w   Cycle video filters or show modes.


       s   Step to the next frame.


           Pause if the stream is not already paused, step to the next video frame, and pause.


       left/right

           Seek backward/forward 10 seconds.


       down/up

           Seek backward/forward 1 minute.


       page down/page up

           Seek to the previous/next chapter.  or if there are no chapters Seek backward/forward

           10 minutes.


       right mouse click

           Seek to percentage in file corresponding to fraction of width.


       left mouse double-click

           Toggle full screen.


[링크 : http://manpages.ubuntu.com/manpages/cosmic/man1/ffplay.1.html]

[링크 : http://www.herongyang.com/Flash/Video-Stream-FFmpeg-ffplay-Interactive-Command.html]

'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

ffmpeg으로 비디오 비트레이트 바꾸기  (0) 2019.02.22
ffmpeg 레이턴시 관련 옵션 조사  (0) 2018.12.16
ffmpeg / ffplay cli interactive interface  (0) 2018.11.30
ffmpeg concat  (0) 2018.11.05
ffmpeg concat  (0) 2018.10.10
ffmpeg huffyuv  (0) 2017.02.28
Posted by 구차니

댓글을 달아 주세요

ffmpeg로 동영상을 합치는 방법

코덱 설정하면 하나로 합칠순 있겠지만.. 단일 파일별로 특정 시간 영역을 자르긴 무리일려나?


16. Joining multiple video parts into one

FFmpeg will also join the multiple video parts and create a single video file.

Create join.txt file that contains the exact paths of the files that you want to join. All files should be same format (same codec). The path name of all files should be mentioned one by one like below.

/home/sk/myvideos/part1.mp4

/home/sk/myvideos/part2.mp4

/home/sk/myvideos/part3.mp4

/home/sk/myvideos/part4.mp4

Now, join all files using command:


$ ffmpeg -f concat -i join.txt -c copy output.mp4 


[링크 : https://www.ostechnix.com/20-ffmpeg-commands-beginners/]

'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

ffmpeg 레이턴시 관련 옵션 조사  (0) 2018.12.16
ffmpeg / ffplay cli interactive interface  (0) 2018.11.30
ffmpeg concat  (0) 2018.11.05
ffmpeg concat  (0) 2018.10.10
ffmpeg huffyuv  (0) 2017.02.28
ffmpeg으로 컨테이너 변경하기  (0) 2016.12.01
Posted by 구차니

댓글을 달아 주세요

ffmpeg를 이용해서 여러개의 파일을 합치는 방법

RTSP를 통하거나 m3u8 파일을 통해서 원하는 시간에 대해서 합치는 법 찾아야 하는데.. ㅠㅠ


[링크 : https://trac.ffmpeg.org/wiki/Concatenate]

[링크 : https://stackoverflow.com/.../ffmpeg-mp4-from-http-live-streaming-m3u8-file/32537953]

[링크 : https://stackoverflow.com/.../using-ffmpeg-to-save-an-rtsp-stream-from-a-certain-point-in-time?rq=1]

[링크 : http://hlsbook.net/how-to-start-playing-a-video-at-a-specific-point-in-time/]

[링크 : https://stackoverflow.com/.../ffmpeg-hls-segmenting-start-time-miscalculated]


+

2019.01.04


rtsp 주소는 concat에서 인식을 못한다...

다운로드 후 합치는걸로 구현을 해야하려나?

'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

ffmpeg / ffplay cli interactive interface  (0) 2018.11.30
ffmpeg concat  (0) 2018.11.05
ffmpeg concat  (0) 2018.10.10
ffmpeg huffyuv  (0) 2017.02.28
ffmpeg으로 컨테이너 변경하기  (0) 2016.12.01
ffmpeg 으로 파일 재생하기  (0) 2015.02.10
Posted by 구차니

댓글을 달아 주세요

라즈베리 파이에서 써볼려고

lossless video로 검색하다 보니. ffmpeg의 비디오 옵션으로 나오길래 검색


[링크 : https://github.com/raspberrypi/userland/issues/28]

[링크 : http://superuser.com/questions/486325/lossless-universal-video-format]


[링크 : https://ko.wikipedia.org/wiki/Huffyuv]

[링크 : https://en.wikipedia.org/wiki/Huffyuv]

'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

ffmpeg concat  (0) 2018.11.05
ffmpeg concat  (0) 2018.10.10
ffmpeg huffyuv  (0) 2017.02.28
ffmpeg으로 컨테이너 변경하기  (0) 2016.12.01
ffmpeg 으로 파일 재생하기  (0) 2015.02.10
Mplayer/ffmpeg 크로스 컴파일 하기  (0) 2015.01.27
Posted by 구차니

댓글을 달아 주세요

빠르고 좋네 +_+

ffmpeg 만세


If you only want to convert mkv to mp4 then you will save quality and a lot of time by just changing the containers. Both of these are just wrappers over the same content so the cpu only needs to do a little work. Don't re encode as you will definitely lose quality.


It's very straight forward using ffmpeg:


ffmpeg -i LostInTranslation.mkv -vcodec copy -acodec copy LostInTranslation.mp4

Here, you are copying the video codec and audio codec so nothing is being encoded.


Tip:


To convert all the mkv files in current directory, run a simple loop in terminal:


for i in *mkv; do ffmpeg -i $i -vcodec copy -acodec copy $i.mp4; done 


[링크 : http://askubuntu.com/questions/396883/how-to-simply-convert-video-files-i-e-mkv-to-mp4]

'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

ffmpeg concat  (0) 2018.10.10
ffmpeg huffyuv  (0) 2017.02.28
ffmpeg으로 컨테이너 변경하기  (0) 2016.12.01
ffmpeg 으로 파일 재생하기  (0) 2015.02.10
Mplayer/ffmpeg 크로스 컴파일 하기  (0) 2015.01.27
ffmpeg arm 아키텍쳐별 최적화 코덱  (0) 2015.01.26
Posted by 구차니

댓글을 달아 주세요

$ ffmpeg -i filename -f alsa hw:0

$ mplayer -ao alsa:device=hw:0.0


ffmpeg이 좀더 심플하구만 -_-


2014/09/29 - [프로그램 사용/ffmpeg / ffserver] - ASLA 입출력 - mplayer / ffmpeg


'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

ffmpeg huffyuv  (0) 2017.02.28
ffmpeg으로 컨테이너 변경하기  (0) 2016.12.01
ffmpeg 으로 파일 재생하기  (0) 2015.02.10
Mplayer/ffmpeg 크로스 컴파일 하기  (0) 2015.01.27
ffmpeg arm 아키텍쳐별 최적화 코덱  (0) 2015.01.26
mplayer status line  (0) 2015.01.26
Posted by 구차니

댓글을 달아 주세요

될지 안될진 모르겠다..

역시나 안되네 -_-

ffmpeg 만 컴파일은 되지만.. mplayer와 연동은 안된다.


Mplayer-1.1


$ ./configure --help

Usage: configure [options]

Options: [defaults in brackets after descriptions]


Help options:

  --help                   print this message

  --list-decoders          show all available decoders

  --list-encoders          show all available encoders

  --list-hwaccels          show all available hardware accelerators

  --list-demuxers          show all available demuxers

  --list-muxers            show all available muxers

  --list-parsers           show all available parsers

  --list-protocols         show all available protocols

  --list-bsfs              show all available bitstream filters

  --list-indevs            show all available input devices

  --list-outdevs           show all available output devices

  --list-filters           show all available filters


Standard options:

  --logfile=FILE           log tests and output to FILE [config.log]

  --disable-logging        do not log configure debug information

  --prefix=PREFIX          install in PREFIX []

  --bindir=DIR             install binaries in DIR [PREFIX/bin]

  --datadir=DIR            install data files in DIR [PREFIX/share/ffmpeg]

  --libdir=DIR             install libs in DIR [PREFIX/lib]

  --shlibdir=DIR           install shared libs in DIR [PREFIX/lib]

  --incdir=DIR             install includes in DIR [PREFIX/include]

  --mandir=DIR             install man page in DIR [PREFIX/share/man]


Licensing options:

  --enable-gpl             allow use of GPL code, the resulting libs

                           and binaries will be under GPL [no]

  --enable-version3        upgrade (L)GPL to version 3 [no]

  --enable-nonfree         allow use of nonfree code, the resulting libs

                           and binaries will be unredistributable [no]


Configuration options:

  --disable-static         do not build static libraries [no]

  --enable-shared          build shared libraries [no]

  --enable-small           optimize for size instead of speed

  --enable-runtime-cpudetect detect cpu capabilities at runtime (bigger binary)

  --enable-gray            enable full grayscale support (slower color)

  --disable-swscale-alpha  disable alpha channel support in swscale


Component options:

  --disable-doc            do not build documentation

  --disable-ffmpeg         disable ffmpeg build

  --disable-ffplay         disable ffplay build

  --disable-ffprobe        disable ffprobe build

  --disable-ffserver       disable ffserver build

  --disable-avdevice       disable libavdevice build

  --disable-avcodec        disable libavcodec build

  --disable-avformat       disable libavformat build

  --disable-swresample     disable libswresample build

  --disable-swscale        disable libswscale build

  --disable-postproc       disable libpostproc build

  --disable-avfilter       disable video filter support [no]

  --enable-avresample      enable libavresample build [no]

  --disable-pthreads       disable pthreads [auto]

  --disable-w32threads     disable Win32 threads [auto]

  --disable-os2threads     disable OS/2 threads [auto]

  --enable-x11grab         enable X11 grabbing [no]

  --disable-network        disable network support [no]

  --disable-dct            disable DCT code

  --disable-mdct           disable MDCT code

  --disable-rdft           disable RDFT code

  --disable-fft            disable FFT code

  --enable-dxva2           enable DXVA2 code

  --enable-vaapi           enable VAAPI code [autodetect]

  --enable-vda             enable VDA code   [autodetect]

  --enable-vdpau           enable VDPAU code [autodetect]


Individual component options:

  --disable-everything     disable all components listed below

  --disable-encoder=NAME   disable encoder NAME

  --enable-encoder=NAME    enable encoder NAME

  --disable-encoders       disable all encoders

  --disable-decoder=NAME   disable decoder NAME

  --enable-decoder=NAME    enable decoder NAME

  --disable-decoders       disable all decoders

  --disable-hwaccel=NAME   disable hwaccel NAME

  --enable-hwaccel=NAME    enable hwaccel NAME

  --disable-hwaccels       disable all hwaccels

  --disable-muxer=NAME     disable muxer NAME

  --enable-muxer=NAME      enable muxer NAME

  --disable-muxers         disable all muxers

  --disable-demuxer=NAME   disable demuxer NAME

  --enable-demuxer=NAME    enable demuxer NAME

  --disable-demuxers       disable all demuxers

  --enable-parser=NAME     enable parser NAME

  --disable-parser=NAME    disable parser NAME

  --disable-parsers        disable all parsers

  --enable-bsf=NAME        enable bitstream filter NAME

  --disable-bsf=NAME       disable bitstream filter NAME

  --disable-bsfs           disable all bitstream filters

  --enable-protocol=NAME   enable protocol NAME

  --disable-protocol=NAME  disable protocol NAME

  --disable-protocols      disable all protocols

  --enable-indev=NAME      enable input device NAME

  --disable-indev=NAME     disable input device NAME

  --disable-indevs         disable input devices

  --enable-outdev=NAME     enable output device NAME

  --disable-outdev=NAME    disable output device NAME

  --disable-outdevs        disable output devices

  --disable-devices        disable all devices

  --enable-filter=NAME     enable filter NAME

  --disable-filter=NAME    disable filter NAME

  --disable-filters        disable all filters


External library support:

  --enable-avisynth        enable reading of AVISynth script files [no]

  --enable-bzlib           enable bzlib [autodetect]

  --enable-fontconfig      enable fontconfig

  --enable-frei0r          enable frei0r video filtering

  --enable-gnutls          enable gnutls [no]

  --enable-libaacplus      enable AAC+ encoding via libaacplus [no]

  --enable-libass          enable libass subtitles rendering [no]

  --enable-libbluray       enable BluRay reading using libbluray [no]

  --enable-libcelt         enable CELT decoding via libcelt [no]

  --enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no]

  --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no]

  --enable-libopencv       enable video filtering via libopencv [no]

  --enable-libcdio         enable audio CD grabbing with libcdio

  --enable-libdc1394       enable IIDC-1394 grabbing using libdc1394

                           and libraw1394 [no]

  --enable-libfaac         enable FAAC support via libfaac [no]

  --enable-libfreetype     enable libfreetype [no]

  --enable-libgsm          enable GSM support via libgsm [no]

  --enable-libmodplug      enable ModPlug via libmodplug [no]

  --enable-libmp3lame      enable MP3 encoding via libmp3lame [no]

  --enable-libnut          enable NUT (de)muxing via libnut,

                           native (de)muxer exists [no]

  --enable-libopenjpeg     enable JPEG 2000 encoding/decoding via OpenJPEG [no]

  --enable-libpulse        enable Pulseaudio input via libpulse [no]

  --enable-librtmp         enable RTMP[E] support via librtmp [no]

  --enable-libschroedinger enable Dirac support via libschroedinger [no]

  --enable-libspeex        enable Speex support via libspeex [no]

  --enable-libstagefright-h264  enable H.264 decoding via libstagefright [no]

  --enable-libtheora       enable Theora encoding via libtheora [no]

  --enable-libutvideo      enable Ut Video encoding and decoding via libutvideo [no]

  --enable-libv4l2         enable libv4l2/v4l-utils [no]

  --enable-libvo-aacenc    enable AAC encoding via libvo-aacenc [no]

  --enable-libvo-amrwbenc  enable AMR-WB encoding via libvo-amrwbenc [no]

  --enable-libvorbis       enable Vorbis en/decoding via libvorbis,

                           native implementation exists [no]

  --enable-libvpx          enable VP8 support via libvpx [no]

  --enable-libx264         enable H.264 encoding via x264 [no]

  --enable-libxavs         enable AVS encoding via xavs [no]

  --enable-libxvid         enable Xvid encoding via xvidcore,

                           native MPEG-4/Xvid encoder exists [no]

  --enable-openal          enable OpenAL 1.1 capture support [no]

  --enable-openssl         enable openssl [no]

  --enable-zlib            enable zlib [autodetect]


Advanced options (experts only):

  --cross-prefix=PREFIX    use PREFIX for compilation tools []

  --enable-cross-compile   assume a cross-compiler is used

  --sysroot=PATH           root of cross-build tree

  --sysinclude=PATH        location of cross-build system headers

  --target-os=OS           compiler targets OS []

  --target-exec=CMD        command to run executables on target

  --target-path=DIR        path to view of build directory on target

  --nm=NM                  use nm tool NM [nm]

  --ar=AR                  use archive tool AR [ar]

  --as=AS                  use assembler AS []

  --yasmexe=EXE            use yasm-compatible assembler EXE [yasm]

  --cc=CC                  use C compiler CC [gcc]

  --cxx=CXX                use C compiler CXX [g++]

  --ld=LD                  use linker LD []

  --host-cc=HOSTCC         use host C compiler HOSTCC

  --host-cflags=HCFLAGS    use HCFLAGS when compiling for host

  --host-ldflags=HLDFLAGS  use HLDFLAGS when linking for host

  --host-libs=HLIBS        use libs HLIBS when linking for host

  --extra-cflags=ECFLAGS   add ECFLAGS to CFLAGS []

  --extra-cxxflags=ECFLAGS add ECFLAGS to CXXFLAGS []

  --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS []

  --extra-libs=ELIBS       add ELIBS []

  --extra-version=STRING   version string suffix []

  --optflags               override optimization-related compiler flags

  --build-suffix=SUFFIX    library name suffix []

  --malloc-prefix=PREFIX   prefix malloc and related names with PREFIX

  --progs-suffix=SUFFIX    program name suffix []

  --arch=ARCH              select architecture []

  --cpu=CPU                select the minimum required CPU (affects

                           instruction selection, may crash on older CPUs)

  --enable-pic             build position-independent code

  --enable-sram            allow use of on-chip SRAM

  --disable-symver         disable symbol versioning

  --disable-fastdiv        disable table-based division

  --enable-hardcoded-tables use hardcoded tables instead of runtime generation

  --disable-safe-bitstream-reader

                           disable buffer boundary checking in bitreaders

                           (faster, but may crash)

  --enable-memalign-hack   emulate memalign, interferes with memory debuggers


Optimization options (experts only):

  --disable-asm            disable all assembler optimizations

  --disable-altivec        disable AltiVec optimizations

  --disable-amd3dnow       disable 3DNow! optimizations

  --disable-amd3dnowext    disable 3DNow! extended optimizations

  --disable-mmx            disable MMX optimizations

  --disable-mmx2           disable MMX2 optimizations

  --disable-sse            disable SSE optimizations

  --disable-ssse3          disable SSSE3 optimizations

  --disable-avx            disable AVX optimizations

  --disable-armv5te        disable armv5te optimizations

  --disable-armv6          disable armv6 optimizations

  --disable-armv6t2        disable armv6t2 optimizations

  --disable-armvfp         disable ARM VFP optimizations

  --disable-mmi            disable MMI optimizations

  --disable-neon           disable NEON optimizations

  --disable-vis            disable VIS optimizations

  --disable-yasm           disable use of yasm assembler

  --postproc-version=V     build libpostproc version V.

                           Where V can be '51.2.101' or 'current'. [current]


Developer options (useful when working on FFmpeg itself):

  --enable-coverage        build with test coverage instrumentation

  --disable-debug          disable debugging symbols

  --enable-debug=LEVEL     set the debug level []

  --disable-optimizations  disable compiler optimizations

  --enable-extra-warnings  enable more compiler warnings

  --disable-stripping      disable stripping of executables and shared libraries

  --assert-level=level     0(default), 1 or 2, amount of assertion testing,

                           2 causes a slowdown at runtime.

  --valgrind=VALGRIND      run "make fate" tests through valgrind to detect memory

                           leaks and errors, using the specified valgrind binary.

                           Cannot be combined with --target-exec

  --samples=PATH           location of test samples for FATE, if not set use

                           $FATE_SAMPLES at make invocation time.

  --enable-xmm-clobber-test check XMM registers for clobbering (Win64-only;

                           should be used only for debugging purposes)


NOTE: Object files are built at the place where configure is launched. 


mplayer에게는 --enable 등으로 옵션을 제공하고

ffmpeg 에게는 --extra 로 붙은 옵션으로 제공하게 되는 것으로 보인다.

./configure --prefix=${ROOTFS}/usr --target=arm-linux --enable-cross-compile --cc=${CROSS_COMPILE}gcc --enable-alsa

--extra-cflags="-march=armv7-a -mfpu=neon -mfloat-abi=softfp -I../live.2011.12.23/liveMedia/include -I../live.2011.12.23/UsageEnvironment/include -I../live.2011.12.23/groupsock/include -I../live.2011.12.23/BasicUsageEnvironment/include -I${ROOTFS}/usr/include"

--extra-ldflags="-L../live.2011.12.23/liveMedia -L../live.2011.12.23/UsageEnvironment -L../live.2011.12.23/groupsock -L../live.2011.12.23/BasicUsageEnvironment -L${ROOTFS}/usr/lib" 

--extra-libs="-lliveMedia -lUsageEnvironment  -lgroupsock -lBasicUsageEnvironment"

--disable-gui --disable-tv --disable-vcd --disable-bluray --disable-dvdnav --disable-dvdread --disable-dvdread-internal --disable-v4l2 --disable-x11 --disable-fbdev --disable-yuv4mpeg --disable-tga --disable-pnm --disable-md5sum --disable-corevideo --disable-quartz --disable-ftp --disable-sortsub --disable-ossaudio --disable-freetype

--enable-live

--enable-neon --enable-armvfp --disable-armv5te --disable-armv6 --disable-armv6t2



ffmpeg만 컴파일

$ ./configure --enable-cross-compile --cross-prefix=arm-none-linux-gnueabi- --target-os=linux --arch=arm --cpu=cortex-a8 --enable-neon --enable-armvfp --extra-cflags=" -mfpu=neon -mfloat-abi=softfp" --disable-armv6 --disable-armv6t2  --disable-armv5te

install prefix            /usr/local

source path               .

C compiler                arm-none-linux-gnueabi-gcc

ARCH                      arm (cortex-a8)

big-endian                no

runtime cpu detection     no

ARMv5TE enabled           no

ARMv6 enabled             no

ARMv6T2 enabled           no

ARM VFP enabled           yes

NEON enabled              yes

debug symbols             yes

strip symbols             yes

optimize for size         no

optimizations             yes

static                    yes

shared                    no

postprocessing support    no

new filter support        yes

network support           yes

threading support         pthreads

safe bitstream reader     yes

SDL support               no

libdxva2 enabled          no

libva enabled             no

libvdpau enabled          no

AVISynth enabled          no

frei0r enabled            no

gnutls enabled            no

libaacplus enabled        no

libass enabled            no

libcdio support           no

libcelt enabled           no

libdc1394 support         no

libfaac enabled           no

libgsm enabled            no

libmodplug enabled        no

libmp3lame enabled        no

libnut enabled            no

libopencore-amrnb support no

libopencore-amrwb support no

libopencv support         no

libopenjpeg enabled       no

libpulse enabled          no

librtmp enabled           no

libschroedinger enabled   no

libspeex enabled          no

libstagefright-h264 enabled    no

libtheora enabled         no

libutvideo enabled        no

libv4l2 enabled           no

libvo-aacenc support      no

libvo-amrwbenc support    no

libvorbis enabled         no

libvpx enabled            no

libx264 enabled           no

libxavs enabled           no

libxvid enabled           no

openal enabled            no

openssl enabled           no

zlib enabled              no

bzlib enabled             no


Enabled decoders:

aac                     cinepak                 mace3

aac_latm                cljr                    mace6

aasc                    cook                    mdec

ac3                     cscd                    microdvd

adpcm_4xm               cyuv                    mimic

adpcm_adx               dca                     mjpeg

adpcm_ct                dfa                     mjpegb

adpcm_ea                dirac                   mlp

adpcm_ea_maxis_xa       dnxhd                   mmvideo

adpcm_ea_r1             dpx                     motionpixels

adpcm_ea_r2             dsicinaudio             mp1

adpcm_ea_r3             dsicinvideo             mp1float

adpcm_ea_xas            dvbsub                  mp2

adpcm_g722              dvdsub                  mp2float

adpcm_g726              dvvideo                 mp3

adpcm_ima_amv           dxtory                  mp3adu

adpcm_ima_apc           eac3                    mp3adufloat

adpcm_ima_dk3           eacmv                   mp3float

adpcm_ima_dk4           eamad                   mp3on4

adpcm_ima_ea_eacs       eatgq                   mp3on4float

adpcm_ima_ea_sead       eatgv                   mpc7

adpcm_ima_iss           eatqi                   mpc8

adpcm_ima_qt            eightbps                mpeg1video

adpcm_ima_smjpeg        eightsvx_exp            mpeg2video

adpcm_ima_wav           eightsvx_fib            mpeg4

adpcm_ima_ws            escape124               mpegvideo

adpcm_ms                escape130               msmpeg4v1

adpcm_sbpro_2           exr                     msmpeg4v2

adpcm_sbpro_3           ffv1                    msmpeg4v3

adpcm_sbpro_4           ffvhuff                 msrle

adpcm_swf               ffwavesynth             msvideo1

adpcm_thp               flac                    mszh

adpcm_xa                flic                    mxpeg

adpcm_yamaha            flv                     nellymoser

alac                    fourxm                  nuv

als                     fraps                   pam

amrnb                   frwu                    pbm

amrwb                   g723_1                  pcm_alaw

amv                     g729                    pcm_bluray

anm                     gif                     pcm_dvd

ansi                    gsm                     pcm_f32be

ape                     gsm_ms                  pcm_f32le

ass                     h261                    pcm_f64be

asv1                    h263                    pcm_f64le

asv2                    h263i                   pcm_lxf

atrac1                  h264                    pcm_mulaw

atrac3                  huffyuv                 pcm_s16be

aura                    idcin                   pcm_s16le

aura2                   idf                     pcm_s16le_planar

avrp                    iff_byterun1            pcm_s24be

avs                     iff_ilbm                pcm_s24daud

avui                    imc                     pcm_s24le

ayuv                    indeo2                  pcm_s32be

bethsoftvid             indeo3                  pcm_s32le

bfi                     indeo4                  pcm_s8

bink                    indeo5                  pcm_s8_planar

binkaudio_dct           interplay_dpcm          pcm_u16be

binkaudio_rdft          interplay_video         pcm_u16le

bintext                 jacosub                 pcm_u24be

bmp                     jpeg2000                pcm_u24le

bmv_audio               jpegls                  pcm_u32be

bmv_video               jv                      pcm_u32le

c93                     kgv1                    pcm_u8

cavs                    kmvc                    pcm_zork

cdgraphics              lagarith                pcx

cdxl                    loco                    pgm

pgmyuv                  sol_dpcm                vmdvideo

pgssub                  sonic                   vmnc

pictor                  sp5x                    vorbis

ppm                     srt                     vp3

prores                  sunrast                 vp5

prores_lgpl             svq1                    vp6

ptx                     svq3                    vp6a

qcelp                   targa                   vp6f

qdm2                    theora                  vp8

qdraw                   thp                     vqa

qpeg                    tiertexseqvideo         wavpack

qtrle                   tiff                    wmalossless

r10k                    tmv                     wmapro

r210                    truehd                  wmav1

ra_144                  truemotion1             wmav2

ra_288                  truemotion2             wmavoice

ralf                    truespeech              wmv1

rawvideo                tta                     wmv2

rl2                     twinvq                  wmv3

roq                     txd                     wmv3image

roq_dpcm                ulti                    wnv1

rpza                    utvideo                 ws_snd1

rv10                    v210                    xan_dpcm

rv20                    v210x                   xan_wc3

rv30                    v308                    xan_wc4

rv40                    v408                    xbin

s302m                   v410                    xbm

sgi                     vb                      xl

shorten                 vble                    xsub

sipr                    vc1                     xwd

smackaud                vc1image                y41p

smacker                 vcr1                    yop

smc                     vmdaudio                yuv4

snow


Enabled encoders:

a64multi                h263p                   pgm

a64multi5               huffyuv                 pgmyuv

aac                     jpeg2000                ppm

ac3                     jpegls                  prores

ac3_fixed               ljpeg                   prores_anatoliy

adpcm_adx               mjpeg                   prores_kostya

adpcm_g722              mp2                     qtrle

adpcm_g726              mpeg1video              r10k

adpcm_ima_qt            mpeg2video              r210

adpcm_ima_wav           mpeg4                   ra_144

adpcm_ms                msmpeg4v2               rawvideo

adpcm_swf               msmpeg4v3               roq

adpcm_yamaha            msvideo1                roq_dpcm

alac                    nellymoser              rv10

amv                     pam                     rv20

ass                     pbm                     sgi

asv1                    pcm_alaw                snow

asv2                    pcm_f32be               sonic

avrp                    pcm_f32le               sonic_ls

avui                    pcm_f64be               srt

ayuv                    pcm_f64le               sunrast

bmp                     pcm_mulaw               svq1

cljr                    pcm_s16be               targa

dca                     pcm_s16le               tiff

dnxhd                   pcm_s24be               v210

dpx                     pcm_s24daud             v308

dvbsub                  pcm_s24le               v408

dvdsub                  pcm_s32be               v410

dvvideo                 pcm_s32le               vorbis

eac3                    pcm_s8                  wmav1

ffv1                    pcm_u16be               wmav2

ffvhuff                 pcm_u16le               wmv1

flac                    pcm_u24be               wmv2

flv                     pcm_u24le               xbm

g723_1                  pcm_u32be               xsub

gif                     pcm_u32le               xwd

h261                    pcm_u8                  y41p

h263                    pcx                     yuv4


Enabled hwaccels:


Enabled parsers:

aac                     dvdsub                  mpegvideo

aac_latm                flac                    png

ac3                     gsm                     pnm

adx                     h261                    rv30

cavsvideo               h263                    rv40

cook                    h264                    vc1

dca                     mjpeg                   vorbis

dirac                   mlp                     vp3

dnxhd                   mpeg4video              vp8

dvbsub                  mpegaudio


Enabled demuxers:

aac                     iff                     pcm_u24be

ac3                     image2                  pcm_u24le

act                     image2pipe              pcm_u32be

adf                     ingenient               pcm_u32le

adx                     ipmovie                 pcm_u8

aea                     iss                     pmp

aiff                    iv8                     pva

amr                     ivf                     qcp

anm                     jacosub                 r3d

apc                     jv                      rawvideo

ape                     latm                    rl2

asf                     lmlm4                   rm

ass                     loas                    roq

au                      lxf                     rpl

avi                     m4v                     rso

avs                     matroska                rtp

bethsoftvid             mgsts                   rtsp

bfi                     microdvd                sap

bink                    mjpeg                   sbg

bintext                 mlp                     sdp

bit                     mm                      segafilm

bmv                     mmf                     shorten

c93                     mov                     siff

caf                     mp3                     smacker

cavsvideo               mpc                     smjpeg

cdg                     mpc8                    sol

cdxl                    mpegps                  sox

daud                    mpegts                  spdif

dfa                     mpegtsraw               srt

dirac                   mpegvideo               str

dnxhd                   msnwc_tcp               swf

dsicin                  mtv                     thp

dts                     mvi                     tiertexseq

dv                      mxf                     tmv

dxa                     mxg                     truehd

ea                      nc                      tta

ea_cdata                nsv                     tty

eac3                    nut                     txd

ffm                     nuv                     vc1

ffmetadata              ogg                     vc1t

filmstrip               oma                     vmd

flac                    pcm_alaw                voc

flic                    pcm_f32be               vqf

flv                     pcm_f32le               w64

fourxm                  pcm_f64be               wav

g722                    pcm_f64le               wc3

g723_1                  pcm_mulaw               wsaud

g729                    pcm_s16be               wsvqa

gsm                     pcm_s16le               wtv

gxf                     pcm_s24be               wv

h261                    pcm_s24le               xa

h263                    pcm_s32be               xbin

h264                    pcm_s32le               xmv

hls                     pcm_s8                  xwma

ico                     pcm_u16be               yop

idcin                   pcm_u16le               yuv4mpegpipe

idf


Enabled muxers:

a64                     ipod                    pcm_mulaw

ac3                     ismv                    pcm_s16be

adts                    ivf                     pcm_s16le

adx                     jacosub                 pcm_s24be

aiff                    latm                    pcm_s24le

amr                     m4v                     pcm_s32be

asf                     matroska                pcm_s32le

asf_stream              matroska_audio          pcm_s8

ass                     md5                     pcm_u16be

au                      microdvd                pcm_u16le

avi                     mjpeg                   pcm_u24be

avm2                    mkvtimestamp_v2         pcm_u24le

bit                     mlp                     pcm_u32be

caf                     mmf                     pcm_u32le

cavsvideo               mov                     pcm_u8

crc                     mp2                     psp

daud                    mp3                     rawvideo

dirac                   mp4                     rm

dnxhd                   mpeg1system             roq

dts                     mpeg1vcd                rso

dv                      mpeg1video              rtp

eac3                    mpeg2dvd                rtsp

ffm                     mpeg2svcd               sap

ffmetadata              mpeg2video              segment

filmstrip               mpeg2vob                smjpeg

flac                    mpegts                  sox

flv                     mpjpeg                  spdif

framecrc                mxf                     srt

framemd5                mxf_d10                 swf

g722                    null                    tg2

g723_1                  nut                     tgp

gif                     ogg                     truehd

gxf                     oma                     vc1t

h261                    pcm_alaw                voc

h263                    pcm_f32be               wav

h264                    pcm_f32le               webm

image2                  pcm_f64be               wtv

image2pipe              pcm_f64le               yuv4mpegpipe


Enabled protocols:

applehttp               hls                     pipe

cache                   http                    rtmp

concat                  httpproxy               rtp

crypto                  md5                     tcp

file                    mmsh                    udp

gopher                  mmst


Enabled filters:

abuffersink             earwax                  pan

aconvert                fade                    pixdesctest

aevalsrc                fieldorder              removelogo

aformat                 fifo                    rgbtestsrc

amerge                  format                  select

amix                    fps                     setdar

amovie                  gradfun                 setfield

anull                   hflip                   setpts

anullsink               idet                    setsar

anullsrc                life                    settb

aresample               lut                     showinfo

ashowinfo               lutrgb                  silencedetect

asplit                  lutyuv                  slicify

astreamsync             mandelbrot              split

bbox                    movie                   swapuv

blackdetect             negate                  testsrc

buffersink              noformat                thumbnail

cellauto                null                    tile

color                   nullsink                transpose

copy                    nullsrc                 unsharp

crop                    overlay                 vflip

deshake                 pad                     volume

drawbox


Enabled bsfs:

aac_adtstoasc           mjpeg2jpeg              mp3_header_decompress

chomp                   mjpega_dump_header      noise

dump_extradata          mov2textsub             remove_extradata

h264_mp4toannexb        mp3_header_compress     text2movsub

imx_dump_header


Enabled indevs:

dv1394                  lavfi                   v4l2

fbdev                   oss


Enabled outdevs:

oss


License: LGPL version 2.1 or later

Creating config.mak and config.h...

libavutil/avconfig.h is unchanged


WARNING: arm-none-linux-gnueabi-pkg-config not found, library detection may fail.

WARNING: Compiler does not indicate floating-point ABI, guessing soft.


[링크 :
https://vec.io/posts/how-to-build-ffmpeg-with-android-ndk]


Anyway, you need to pass -mfpu=neon -mfloat-abi=softfp to the compiler.

[링크 : http://lists.busybox.net/pipermail/buildroot/2012-October/059536.html]


크아아아앙

AAC file format detected.

==========================================================================

Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders

libavcodec version 54.23.100 (internal)



MPlayer interrupted by signal 11 in module: init_audio_codec

- MPlayer crashed by bad usage of CPU/FPU/RAM.

  Recompile MPlayer with --enable-debug and make a 'gdb' backtrace and

  disassembly. Details in DOCS/HTML/en/bugreports_what.html#bugreports_crash.

- MPlayer crashed. This shouldn't happen.

  It can be a bug in the MPlayer code _or_ in your drivers _or_ in your

  gcc version. If you think it's MPlayer's fault, please read

  DOCS/HTML/en/bugreports.html and follow the instructions there. We can't and

  won't help unless you provide this information when reporting a possible bug.


+ 2014.1.28

아마도 커널에서 NEON 지원이 되지 않은 상태라

해당 하드웨어를 쓰려는 상황이 오자 에러가 발생한게 아닐까 추측된다.

'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

ffmpeg으로 컨테이너 변경하기  (0) 2016.12.01
ffmpeg 으로 파일 재생하기  (0) 2015.02.10
Mplayer/ffmpeg 크로스 컴파일 하기  (0) 2015.01.27
ffmpeg arm 아키텍쳐별 최적화 코덱  (0) 2015.01.26
mplayer status line  (0) 2015.01.26
FAAD / FAAC  (0) 2015.01.23
Posted by 구차니

댓글을 달아 주세요