(相关资料图)

ARM+FPGA开发板基于FFMPEG的网络视频播放终端——米尔NXP I.MX 8M MINI+ARTIX-7处理器开发板

本篇测评由优秀测评者“qinyunti”提供。

01.前言

米尔这款ARM+fpga开发板具备高性能的ARM MPU+多媒体能力,采用i.MX 8M Mini+Artix-7处理器,特别适合多媒体终端开发。本篇就体验搭建ffmpeg开发环境,并进行性能测试,进行视频播放,演示网络视频播放器等。

02.编译过程

交叉编译

./configure --cross-prefix=aarch64-linux-gnu- --enable-cross-compile --target-os=linux --cc=aarch64-linux-gnu-gcc --arch=arm64 --prefix=/home/lhj/opt/ffmpeg/board --enable-ffmpeg --disable-armv5te --disable-armv6 --disable-armv6t2

WARNING: aarch64-linux-gnu-pkg-config not found, library detection may fail.

make

make install

生成文件如下

lhj@lhj:~/FFmpeg$ tree /home/lhj/opt/ffmpeg/board/

/home/lhj/opt/ffmpeg/board/

|-- bin

| |-- ffmpeg

| `-- ffprobe

|-- include

| |-- libavcodec

| | |-- ac3_parser.h

| | |-- adts_parser.h

| | |-- avcodec.h

| | |-- avdct.h

| | |-- avfft.h

| | |-- bsf.h

| | |-- codec.h

| | |-- codec_desc.h

| | |-- codec_id.h

| | |-- codec_par.h

| | |-- d3d11va.h

| | |-- defs.h

| | |-- dirac.h

| | |-- dv_profile.h

| | |-- dxva2.h

| | |-- jni.h

| | |-- mediacodec.h

| | |-- packet.h

| | |-- qsv.h

| | |-- vdpau.h

| | |-- version.h

| | |-- version_major.h

| | |-- videotoolbox.h

| | |-- vorbis_parser.h

| | `-- xvmc.h

| |-- libavdevice

| | |-- avdevice.h

| | |-- version.h

| | `-- version_major.h

| |-- libavfilter

| | |-- avfilter.h

| | |-- buffersink.h

| | |-- buffersrc.h

| | |-- version.h

| | `-- version_major.h

| |-- libavformat

| | |-- avformat.h

| | |-- avio.h

| | |-- version.h

| | `-- version_major.h

| |-- libavutil

| | |-- adler32.h

| | |-- aes.h

| | |-- aes_ctr.h

| | |-- ambient_viewing_environment.h

| | |-- attributes.h

| | |-- audio_fifo.h

| | |-- avassert.h

| | |-- avconfig.h

| | |-- avstring.h

| | |-- avutil.h

| | |-- base64.h

| | |-- blowfish.h

| | |-- bprint.h

| | |-- bswap.h

| | |-- buffer.h

| | |-- camellia.h

| | |-- cast5.h

| | |-- channel_layout.h

| | |-- common.h

| | |-- cpu.h

| | |-- crc.h

| | |-- csp.h

| | |-- des.h

| | |-- detection_bbox.h

| | |-- dict.h

| | |-- display.h

| | |-- dovi_meta.h

| | |-- downmix_info.h

| | |-- encryption_info.h

| | |-- error.h

| | |-- eval.h

| | |-- ffversion.h

| | |-- fifo.h

| | |-- file.h

| | |-- film_grain_params.h

| | |-- frame.h

| | |-- hash.h

| | |-- hdr_dynamic_metadata.h

| | |-- hdr_dynamic_vivid_metadata.h

| | |-- hmac.h

| | |-- hwcontext.h

| | |-- hwcontext_cuda.h

| | |-- hwcontext_d3d11va.h

| | |-- hwcontext_drm.h

| | |-- hwcontext_dxva2.h

| | |-- hwcontext_mediacodec.h

| | |-- hwcontext_opencl.h

| | |-- hwcontext_qsv.h

| | |-- hwcontext_vaapi.h

| | |-- hwcontext_vdpau.h

| | |-- hwcontext_videotoolbox.h

| | |-- hwcontext_vulkan.h

| | |-- imgutils.h

| | |-- intfloat.h

| | |-- intreadwrite.h

| | |-- lfg.h

| | |-- log.h

| | |-- lzo.h

| | |-- macros.h

| | |-- mastering_display_metadata.h

| | |-- mathematics.h

| | |-- md5.h

| | |-- mem.h

| | |-- motion_vector.h

| | |-- murmur3.h

| | |-- opt.h

| | |-- parseutils.h

| | |-- pixdesc.h

| | |-- pixelutils.h

| | |-- pixfmt.h

| | |-- random_seed.h

| | |-- rational.h

| | |-- rc4.h

| | |-- replaygain.h

| | |-- ripemd.h

| | |-- samplefmt.h

| | |-- sha.h

| | |-- sha512.h

| | |-- spherical.h

| | |-- stereo3d.h

| | |-- tea.h

| | |-- threadmessage.h

| | |-- time.h

| | |-- timecode.h

| | |-- timestamp.h

| | |-- tree.h

| | |-- twofish.h

| | |-- tx.h

| | |-- uuid.h

| | |-- version.h

| | |-- video_enc_params.h

| | `-- xtea.h

| |-- libswresample

| | |-- swresample.h

| | |-- version.h

| | `-- version_major.h

| `-- libswscale

| |-- swscale.h

| |-- version.h

| `-- version_major.h

|-- lib

| |-- libavcodec.a

| |-- libavdevice.a

| |-- libavfilter.a

| |-- libavformat.a

| |-- libavutil.a

| |-- libswresample.a

| |-- libswscale.a

| `-- pkgconfig

| |-- libavcodec.pc

| |-- libavdevice.pc

| |-- libavfilter.pc

| |-- libavformat.pc

| |-- libavutil.pc

| |-- libswresample.pc

| `-- libswscale.pc

`-- share

|-- doc

| `-- ffmpeg

| |-- bootstrap.min.css

| |-- default.css

| |-- developer.html

| |-- faq.html

| |-- fate.html

| |-- ffmpeg-all.html

| |-- ffmpeg-bitstream-filters.html

| |-- ffmpeg-codecs.html

| |-- ffmpeg-devices.html

| |-- ffmpeg-filters.html

| |-- ffmpeg-formats.html

| |-- ffmpeg-protocols.html

| |-- ffmpeg-resampler.html

| |-- ffmpeg-scaler.html

| |-- ffmpeg-utils.html

| |-- ffmpeg.html

| |-- ffprobe-all.html

| |-- ffprobe.html

| |-- general.html

| |-- git-howto.html

| |-- libavcodec.html

| |-- libavdevice.html

| |-- libavfilter.html

| |-- libavformat.html

| |-- libavutil.html

| |-- libswresample.html

| |-- libswscale.html

| |-- mailing-list-faq.html

| |-- nut.html

| |-- platform.html

| `-- style.min.css

|-- ffmpeg

| |-- examples

| | |-- Makefile

| | |-- README

| | |-- avio_list_dir.c

| | |-- avio_reading.c

| | |-- decode_audio.c

| | |-- decode_video.c

| | |-- demuxing_decoding.c

| | |-- encode_audio.c

| | |-- encode_video.c

| | |-- extract_mvs.c

| | |-- filter_audio.c

| | |-- filtering_audio.c

| | |-- filtering_video.c

标签: