前面我们搭建了ffmpeg的开发环境,进行了ffmpeg性能测试,还演示了ffmepg进行网络推流视频播放。但是很多时候我们需要自定义开发,已经构建好的ffmpeg并不能满足我们的需求,这时我们就必须基于源码进行开发。本篇就进行基于ffmpeg的应用开发体验。
aarch64-linux-gnu-gcc doc/examples/encode_video.c -O3 -o ./encode_video -I/home/lhj/opt/ffmpeg/board/include/ -L/home/lhj/opt/ffmpeg/board/lib -lavcodec -lavutil -lswresample -lpthread -lm
root@myir-yg2lx:~# ./encode_video encode.bin mpeg1video
Send frame 0
Send frame 1
Write packet 0 (size= 6731)
Send frame 2
Write packet 2 (size= 3727)
Send frame 3
Write packet 1 (size= 1698)
Send frame 4
Write packet 4 (size= 2744)
Send frame 5
Write packet 3 (size= 1676)
Send frame 6
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
Write packet 6 (size= 2955)
Send frame 7
Write packet 5 (size= 1810)
Send frame 8
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
Write packet 8 (size= 3170)
Send frame 9
Write packet 7 (size= 1937)
Send frame 10
Write packet 10 (size=12306)
Send frame 11
Write packet 9 (size= 2173)
Send frame 12
Write packet 12 (size= 3770)
Send frame 13
Write packet 11 (size= 2064)
Send frame 14
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
Write packet 14 (size= 3340)
Send frame 15
Write packet 13 (size= 1941)
Send frame 16
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
Write packet 16 (size= 3121)
Send frame 17
Write packet 15 (size= 1897)
Send frame 18
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
Write packet 18 (size= 3392)
Send frame 19
Write packet 17 (size= 2172)
Send frame 20
Write packet 20 (size=12266)
Send frame 21
Write packet 19 (size= 2169)
Send frame 22
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
Write packet 22 (size= 4000)
Send frame 23
Write packet 21 (size= 2018)
Send frame 24
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
[mpeg1video @ 0xaaaae25232a0] warning, clipping 1 dct coefficients to -255..255
Write packet 24 (size= 3072)
Write packet 23 (size= 1935)
root@myir-yg2lx:~#
aarch64-linux-gnu-gcc doc/examples/decode_video.c -O3 -o ./decode_video -I/home/lhj/opt/ffmpeg/board/include/ -L/home/lhj/opt/ffmpeg/board/lib -lavcodec -lavutil -lswresample -lpthread -lm