[FFmpeg] libavfilter 관련 도구 설치

5585 단어 libavfilterffmpeg

Libavfilter


FFmpeg 에는 복잡한 처리를 행하는 필터가 많이 갖추어져 있지만, 사용법이 조금 어렵다.
공식 문서 를 봐도 상쾌감은 있다.

그래서 우선은, 동봉되고 있는 유틸리티 툴을 사용해 보기로 한다

전제


ffmpeg 을(를) 설치함

graph2dot 빌드 및 설치


$ cd ffmpeg
$ make alltools
# cp tools/graph2dot /usr/local/bin
$ graph2dot -h
Convert a libavfilter graph to a dot file.
Usage: graph2dot [OPTIONS]

Options:
-i INFILE         set INFILE as input file, stdin if omitted
-o OUTFILE        set OUTFILE as output file, stdout if omitted
-h                print this help
$ echo nullsrc,scale=640:360,nullsink | graph2dot -o graph.tmp
[Parsed_nullsrc_0 @ 0x30d78e0] size:320x240 rate:25/1 duration:-1.000000 sar:1/1
[Parsed_scale_1 @ 0x30d7ca0] Setting 'w' to value '640'
[Parsed_scale_1 @ 0x30d7ca0] Setting 'h' to value '360'
[Parsed_scale_1 @ 0x30d7ca0] w:640 h:360 flags:'bilinear' interl:0
query_formats: 3 queried, 2 merged, 0 already done, 0 delayed
[Parsed_scale_1 @ 0x30d7ca0] w:320 h:240 fmt:yuv420p sar:1/1 -> w:640 h:360 fmt:yuv420p sar:3/4 flags:0x2
$ cat graph.tmp
digraph G {
node [shape=box]
rankdir=LR
"Parsed_nullsrc_0\n(nullsrc)" -> "Parsed_scale_1\n(scale)" [ label= "inpad:default -> outpad:default\nfmt:yuv420p w:320 h:240 tb:1/25" ];
"Parsed_scale_1\n(scale)" -> "Parsed_nullsink_2\n(nullsink)" [ label= "inpad:default -> outpad:default\nfmt:yuv420p w:640 h:360 tb:1/25" ];
}

graphviz 설치


graph2dot라는 도구는 그래프 컨텍스트에서 그래프 스크립트 (?)를 생성하는 도구입니다.
그것만으로는 단순한 텍스트이므로 dot라는 도구로 이미지화합니다.
dotgraphviz라는 패키지로 관리됩니다.yum 관리되므로 쉽게 설치.

여기
man dot
# yum install graphviz
$ rpm -qs graphviz | grep dot
normal        /usr/bin/dot
normal        /usr/bin/dot2gxl
normal        /usr/bin/dotty
normal        /usr/bin/gxl2dot
normal        /usr/bin/vimdot
normal        /usr/lib64/graphviz/libgvplugin_dot_layout.so.6
normal        /usr/lib64/graphviz/libgvplugin_dot_layout.so.6.0.0
normal        /usr/lib64/libxdot.so.4
normal        /usr/lib64/libxdot.so.4.0.0
normal        /usr/share/graphviz/lefty/dotty.lefty
normal        /usr/share/graphviz/lefty/dotty_draw.lefty
normal        /usr/share/graphviz/lefty/dotty_edit.lefty
normal        /usr/share/graphviz/lefty/dotty_layout.lefty
normal        /usr/share/graphviz/lefty/dotty_ui.lefty
normal        /usr/share/man/man1/dot.1.gz
normal        /usr/share/man/man1/dotty.1.gz
normal        /usr/share/man/man1/vimdot.1.gz
dot 로 이미징
$ dot -Tpng graph.tmp -o graph.png

graphviz

조금 복잡하다
$ echo "nullsrc,split[main][tmp];[tmp]crop=iw:ih/2:0:0,vflip[flip];[main][flip]overlay=0:H/2,nullsink" | graph2dot -o graph2.tmp
$ dot -Tpng graph2.tmp -o graph2.png



작다. .dot 이외에 레이아웃을 변경하는 명령과 옵션이 많이 있으므로 을 참조하십시오.

결론



무사히 자신이 설명하는 필터 그래프가 올바른지 여부를 시각화 할 수있었습니다.
엔조이 Libavfilter !!

좋은 웹페이지 즐겨찾기