到目前为止Jetson设备ffmpeg 硬件编码尚不可用。
l4t3261 jetpack4.6
FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael Niedermayer主要负责维护。许多FFmpeg的开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视频编码标准,前面的"FF"代表"Fast Forward"。 FFmpeg编码库可以使用GPU加速
nvidia论坛地址参考
Jetson开发人员指南
$ echo "deb https://repo.download.nvidia.com/jetson/ffmpeg main main" | sudo tee -a /etc/apt/sources.list
$ echo "deb-src https://repo.download.nvidia.com/jetson/ffmpeg main main" | sudo tee -a /etc/apt/sources.list
$ sudo apt update
$ apt source ffmpeg
$ Reading package lists... Done
Need to get 8,960 kB of source archives.
Get:1 https://repo.download.nvidia.cn/jetson/ffmpeg main/main ffmpeg 7:4.2.7-nvidia (dsc) [592 B]
Get:2 https://repo.download.nvidia.cn/jetson/ffmpeg main/main ffmpeg 7:4.2.7-nvidia (tar) [8,960 kB]
Fetched 8,960 kB in 11s (834 kB/s)
dpkg-source: info: extracting ffmpeg in ffmpeg-4.2.7
dpkg-source: info: unpacking ffmpeg_4.2.7-nvidia.tar.xz
cd ffmpeg-4.2.7/
ljx@ljx-desktop:~/ffmpeg-4.2.7$ ls
Changelog CONTRIBUTING.md COPYING.LGPLv2.1 debian fftools libavdevice libavresample libswresample MAINTAINERS README.md RELEASE_NOTES
compat COPYING.GPLv2 COPYING.LGPLv3 doc INSTALL.md libavfilter libavutil libswscale Makefile README.nvidia tests
configure COPYING.GPLv3 CREDITS ffbuild libavcodec libavformat libpostproc LICENSE.md presets RELEASE tools
ljx@ljx-desktop:~/ffmpeg-4.2.7$ ffmepg -decoders | grep nvv
-bash: ffmepg: command not found
ljx@ljx-desktop:~/ffmpeg-4.2.7$ ./configure --enable-nvv4l2dec --enable-libv4l2 --extra-libs="-L/usr/lib/aarch64-linux-gnu/tegra -lnvbuf_utils" --extra-cflags="-I /usr/src/jetson_multimedia_api/include/"
ERROR: libv4l2 not found using pkg-config
尝试解决:
sudo apt-get install libv4l-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
apt-clone archdetect-deb aufs-tools bogl-bterm busybox-static cryptsetup-bin dpkg-repack gir1.2-timezonemap-1.0 gir1.2-xkl-1.0 gyp kde-window-manager kinit kio kpackagetool5
kwayland-data kwin-common kwin-x11 libdebian-installer4 libjs-async libjs-inherits libjs-node-uuid libkdecorations2-5v5 libkdecorations2private5v5 libkf5activities5 libkf5attica5
libkf5completion-data libkf5completion5 libkf5declarative-data libkf5declarative5 libkf5doctools5 libkf5globalaccel-data libkf5globalaccel5 libkf5globalaccelprivate5 libkf5idletime5
libkf5jobwidgets-data libkf5jobwidgets5 libkf5kcmutils-data libkf5kcmutils5 libkf5kiocore5 libkf5kiontlm5 libkf5kiowidgets5 libkf5newstuff-data libkf5newstuff5 libkf5newstuffcore5
libkf5package-data libkf5package5 libkf5plasma5 libkf5quickaddons5 libkf5solid5 libkf5solid5-data libkf5sonnet5-data libkf5sonnetcore5 libkf5sonnetui5 libkf5textwidgets-data
libkf5textwidgets5 libkf5waylandclient5 libkf5waylandserver5 libkf5xmlgui-bin libkf5xmlgui-data libkf5xmlgui5 libkscreenlocker5 libkwin4-effect-builtins1 libkwineffects11
libkwinglutils11 libkwinxrenderutils11 liblua50 liblualib50 libuv1-dev libwireshark14 libwiretap11 libwsutil12 libxcb-cursor0 libxcb-damage0 lua50 node-abbrev node-ansi
node-ansi-color-table node-archy node-async node-balanced-match node-block-stream node-brace-expansion node-combined-stream node-concat-map node-cookie-jar node-delayed-stream
node-forever-agent node-form-data node-fs.realpath node-fstream node-fstream-ignore node-github-url-from-git node-glob node-graceful-fs node-hosted-git-info node-inflight node-inherits
node-ini node-isexe node-json-stringify-safe node-lockfile node-lru-cache node-mime node-minimatch node-mkdirp node-mute-stream node-node-uuid node-nopt node-npmlog node-once node-osenv
node-path-is-absolute node-pseudomap node-qs node-read node-request node-retry node-rimraf node-semver node-sha node-slide node-spdx-correct node-spdx-expression-parse
node-spdx-license-ids node-tar node-tunnel-agent node-underscore node-validate-npm-package-license node-which node-wrappy node-yallist openjdk-8-jdk-headless python3-dbus.mainloop.pyqt5
python3-icu python3-pam python3-pyqt5.qtsvg python3-pyqt5.qtwebkit qml-module-org-kde-kquickcontrolsaddons rdate tasksel tasksel-data ubuntu-fan
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
libv4l-dev
0 upgraded, 1 newly installed, 0 to remove and 6 not upgraded.
Need to get 98.6 kB of archives.
After this operation, 404 kB of additional disk space will be used.
Get:1 http://ports.ubuntu.com/ubuntu-ports bionic/main arm64 libv4l-dev arm64 1.14.2-1 [98.6 kB]
Fetched 98.6 kB in 2s (65.4 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libv4l-dev:arm64.
dpkg: warning: files list file for package 'libeigen3-dev' missing; assuming package has no files currently installed
(Reading database ... 281683 files and directories currently installed.)
Preparing to unpack .../libv4l-dev_1.14.2-1_arm64.deb ...
Unpacking libv4l-dev:arm64 (1.14.2-1) ...
Setting up libv4l-dev:arm64 (1.14.2-1) ...
该过程中最令人担忧的步骤是必须 install libv4l-dev
,我不清楚为什么它没有包含在 jetpack 中,或者如果包含,为什么 configure 找不到该库
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:/home/ljx/ffmpeg-4.2.7/libavdevice:/home/ljx/ffmpeg-4.2.7/libavfilter:/home/ljx/ffmpeg-4.2.7/libavformat:/home/ljx/ffmpeg-4.2.7/libavcodec:/home/ljx/ffmpeg-4.2.7/libavformat:/home/ljx/ffmpeg-4.2.7/libswresample:/home/ljx/ffmpeg-4.2.7/libswscale:/home/ljx/ffmpeg-4.2.7/libavutil:
注意你的用户名 :
最后(这很关键),无论何时运行 ffmpeg,您都需要参考那些最近编译的库。两个选项,在您运行 ffmpeg 时将它们导出到您的LD_LIBRARY_PATH
任何时候,或者将它们复制到您要链接库的任何位置。前者的说明如下(使用 的编译目录~/ffmpeg-4.2.7
):
一个好的建议是将其添加到您的 bash 配置文件中以便始终执行此操作:)
./configure --enable-nvv4l2dec --enable-libv4l2 --extra-libs="-L/usr/lib/aarch64-linux-gnu/tegra -lnvbuf_utils" --extra-cflags="-I /usr/src/jetson_multimedia_api/include/"
install prefix /usr/local
source path .
C compiler gcc
C library glibc
ARCH aarch64 (generic)
big-endian no
runtime cpu detection yes
NEON enabled yes
VFP enabled yes
debug symbols yes
strip symbols yes
optimize for size no
optimizations yes
static yes
shared no
postprocessing support no
network support yes
threading support pthreads
safe bitstream reader yes
texi2html enabled no
perl enabled yes
pod2man enabled yes
makeinfo enabled no
makeinfo supports HTML no
External libraries:
alsa iconv libxcb libxcb_shm lzma
bzlib libv4l2 libxcb_shape libxcb_xfixes zlib
External libraries providing hardware acceleration:
cuda_llvm nvv4l2dec v4l2_m2m
Libraries:
avcodec avdevice avfilter avformat avutil swresample swscale
Programs:
ffmpeg ffprobe
Enabled decoders:
aac asv2 eatgq jpeg2000 pam roq v410
aac_fixed atrac1 eatgv jpegls pbm roq_dpcm vb
aac_latm atrac3 eatqi jv pcm_alaw rpza vble
aasc atrac3al eightbps kgv1 pcm_bluray rscc vc1
ac3 atrac3p eightsvx_exp kmvc pcm_dvd rv10 vc1_v4l2m2m
ac3_fixed atrac3pal eightsvx_fib lagarith pcm_f16le rv20 vc1image
adpcm_4xm atrac9 escape124 loco pcm_f24le rv30 vcr1
adpcm_adx aura escape130 lscr pcm_f32be rv40 vmdaudio
adpcm_afc aura2 evrc m101 pcm_f32le s302m vmdvideo
adpcm_agm avrn exr mace3 pcm_f64be sami vmnc
adpcm_aica avrp ffv1 mace6 pcm_f64le sanm vorbis
adpcm_ct avs ffvhuff magicyuv pcm_lxf sbc vp3
adpcm_dtk avui ffwavesynth mdec pcm_mulaw scpr vp4
adpcm_ea ayuv fic metasound pcm_s16be screenpresso vp5
adpcm_ea_maxis_xa bethsoftvid fits microdvd pcm_s16be_planar sdx2_dpcm vp6
adpcm_ea_r1 bfi flac mimic pcm_s16le sgi vp6a
adpcm_ea_r2 bink flashsv mjpeg pcm_s16le_planar sgirle vp6f
adpcm_ea_r3 binkaudio_dct flashsv2 mjpegb pcm_s24be sheervideo vp7
adpcm_ea_xas binkaudio_rdft flic mlp pcm_s24daud shorten vp8
adpcm_g722 bintext flv mmvideo pcm_s24le sipr vp8_nvv4l2dec
adpcm_g726 bitpacked fmvc motionpixels pcm_s24le_planar smackaud vp8_v4l2m2m
adpcm_g726le bmp fourxm movtext pcm_s32be smacker vp9
adpcm_ima_amv bmv_audio fraps mp1 pcm_s32le smc vp9_nvv4l2dec
adpcm_ima_apc bmv_video frwu mp1float pcm_s32le_planar smvjpeg vp9_v4l2m2m
adpcm_ima_dat4 brender_pix g2m mp2 pcm_s64be snow vplayer
adpcm_ima_dk3 c93 g723_1 mp2float pcm_s64le sol_dpcm vqa
adpcm_ima_dk4 cavs g729 mp3 pcm_s8 sonic wavpack
adpcm_ima_ea_eacs ccaption gdv mp3adu pcm_s8_planar sp5x wcmv
adpcm_ima_ea_sead cdgraphics gif mp3adufloat pcm_u16be speedhq webp
adpcm_ima_iss cdxl gremlin_dpcm mp3float pcm_u16le srgc webvtt
adpcm_ima_oki cfhd gsm mp3on4 pcm_u24be srt wmalossless
adpcm_ima_qt cinepak gsm_ms mp3on4float pcm_u24le ssa wmapro
adpcm_ima_rad clearvideo h261 mpc7 pcm_u32be stl wmav1
adpcm_ima_smjpeg cljr h263 mpc8 pcm_u32le subrip wmav2
adpcm_ima_wav cllc h263_v4l2m2m mpeg1_v4l2m2m pcm_u8 subviewer wmavoice
adpcm_ima_ws comfortnoise h263i mpeg1video pcm_vidc subviewer1 wmv1
adpcm_ms cook h263p mpeg2_nvv4l2dec pcm_zork sunrast wmv2
adpcm_mtaf cpia h264 mpeg2_v4l2m2m pcx svq1 wmv3
adpcm_psx cscd h264_nvv4l2dec mpeg2video pgm svq3 wmv3image
adpcm_sbpro_2 cyuv h264_v4l2m2m mpeg4 pgmyuv tak wnv1
adpcm_sbpro_3 dca hap mpeg4_nvv4l2dec pgssub targa wrapped_avframe
adpcm_sbpro_4 dds hcom mpeg4_v4l2m2m pictor targa_y216 ws_snd1
adpcm_swf dfa hevc mpegvideo pixlet tdsc xan_dpcm
adpcm_thp dirac hevc_nvv4l2dec mpl2 pjs text xan_wc3
adpcm_thp_le dnxhd hevc_v4l2m2m msa1 png theora xan_wc4
adpcm_vima dolby_e hnm4_video mscc ppm thp xbin
adpcm_xa dpx hq_hqa msmpeg4v1 prores tiertexseqvideo xbm
adpcm_yamaha dsd_lsbf hqx msmpeg4v2 prosumer tiff xface
agm dsd_lsbf_planar huffyuv msmpeg4v3 psd tmv xl
aic dsd_msbf hymt msrle ptx truehd xma1
alac dsd_msbf_planar iac mss1 qcelp truemotion1 xma2
alias_pix dsicinaudio idcin mss2 qdm2 truemotion2 xpm
als dsicinvideo idf msvideo1 qdmc truemotion2rt xsub
amrnb dss_sp iff_ilbm mszh qdraw truespeech xwd
amrwb dst ilbc mts2 qpeg tscc y41p
amv dvaudio imc mvc1 qtrle tscc2 ylc
anm dvbsub imm4 mvc2 r10k tta yop
ansi dvdsub indeo2 mwsc r210 twinvq yuv4
ape dvvideo indeo3 mxpeg ra_144 txd zero12v
apng dxa indeo4 nellymoser ra_288 ulti zerocodec
aptx dxtory indeo5 nuv ralf utvideo zlib
aptx_hd dxv interplay_acm on2avc rasc v210 zmbv
arbc eac3 interplay_dpcm opus rawvideo v210x
ass eacmv interplay_video paf_audio realtext v308
asv1 eamad jacosub paf_video rl2 v408
Enabled encoders:
a64multi avrp h261 nellymoser pcm_s64le rawvideo v308
a64multi5 avui h263 opus pcm_s8 roq v408
aac ayuv h263_v4l2m2m pam pcm_s8_planar roq_dpcm v410
ac3 bmp h263p pbm pcm_u16be rv10 vc2
ac3_fixed cinepak h264_v4l2m2m pcm_alaw pcm_u16le rv20 vorbis
adpcm_adx cljr hevc_v4l2m2m pcm_dvd pcm_u24be s302m vp8_v4l2m2m
adpcm_g722 comfortnoise huffyuv pcm_f32be pcm_u24le sbc wavpack
adpcm_g726 dca jpeg2000 pcm_f32le pcm_u32be sgi webvtt
adpcm_g726le dnxhd jpegls pcm_f64be pcm_u32le snow wmav1
adpcm_ima_qt dpx ljpeg pcm_f64le pcm_u8 sonic wmav2
adpcm_ima_wav dvbsub magicyuv pcm_mulaw pcm_vidc sonic_ls wmv1
adpcm_ms dvdsub mjpeg pcm_s16be pcx srt wmv2
adpcm_swf dvvideo mlp pcm_s16be_planar pgm ssa wrapped_avframe
adpcm_yamaha eac3 movtext pcm_s16le pgmyuv subrip xbm
alac ffv1 mp2 pcm_s16le_planar png sunrast xface
alias_pix ffvhuff mp2fixed pcm_s24be ppm svq1 xsub
amv fits mpeg1video pcm_s24daud prores targa xwd
apng flac mpeg2video pcm_s24le prores_aw text y41p
aptx flashsv mpeg4 pcm_s24le_planar prores_ks tiff yuv4
aptx_hd flashsv2 mpeg4_v4l2m2m pcm_s32be qtrle truehd zlib
ass flv msmpeg4v2 pcm_s32le r10k tta zmbv
asv1 g723_1 msmpeg4v3 pcm_s32le_planar r210 utvideo
asv2 gif msvideo1 pcm_s64be ra_144 v210
Enabled hwaccels:
Enabled parsers:
aac cavsvideo dvbsub gsm mpeg4video rv40 vp8
aac_latm cook dvd_nav h261 mpegaudio sbc vp9
ac3 dca dvdsub h263 mpegvideo sipr xma
adx dirac flac h264 opus tak
av1 dnxhd g723_1 hevc png vc1
avs2 dpx g729 mjpeg pnm vorbis
bmp dvaudio gif mlp rv30 vp3
Enabled demuxers:
aa cavsvideo gif image_xpm_pipe musx redspark tmv
aac cdg gsm image_xwd_pipe mv rl2 truehd
ac3 cdxl gxf ingenient mvi rm tta
acm cine h261 ipmovie mxf roq tty
act codec2 h263 ircam mxg rpl txd
adf codec2raw h264 iss nc rsd ty
adp concat hcom iv8 nistsphere rso v210
ads data hevc ivf nsp rtp v210x
adx daud hls ivr nsv rtsp vag
aea dcstr hnm jacosub nut s337m vc1
afc dfa ico jv nuv sami vc1t
aiff dhav idcin kux ogg sap vividas
aix dirac idf live_flv oma sbc vivo
amr dnxhd iff lmlm4 paf sbg vmd
amrnb dsf ifv loas pcm_alaw scc vobsub
amrwb dsicin ilbc lrc pcm_f32be sdp voc
anm dss image2 lvf pcm_f32le sdr2 vpk
apc dts image2_alias_pix lxf pcm_f64be sds vplayer
ape dtshd image2_brender_pix m4v pcm_f64le sdx vqf
apng dv image2pipe matroska pcm_mulaw segafilm w64
aptx dvbsub image_bmp_pipe mgsts pcm_s16be ser wav
aptx_hd dvbtxt image_dds_pipe microdvd pcm_s16le shorten wc3
aqtitle dxa image_dpx_pipe mjpeg pcm_s24be siff webm_dash_manifest
asf ea image_exr_pipe mjpeg_2000 pcm_s24le sln webvtt
asf_o ea_cdata image_gif_pipe mlp pcm_s32be smacker wsaud
ass eac3 image_j2k_pipe mlv pcm_s32le smjpeg wsd
ast epaf image_jpeg_pipe mm pcm_s8 smush wsvqa
au ffmetadata image_jpegls_pipe mmf pcm_u16be sol wtv
avi filmstrip image_pam_pipe mov pcm_u16le sox wv
avr fits image_pbm_pipe mp3 pcm_u24be spdif wve
avs flac image_pcx_pipe mpc pcm_u24le srt xa
avs2 flic image_pgm_pipe mpc8 pcm_u32be stl xbin
bethsoftvid flv image_pgmyuv_pipe mpegps pcm_u32le str xmv
bfi fourxm image_pictor_pipe mpegts pcm_u8 subviewer xvag
bfstm frm image_png_pipe mpegtsraw pcm_vidc subviewer1 xwma
bink fsb image_ppm_pipe mpegvideo pjs sup yop
bintext g722 image_psd_pipe mpjpeg pmp svag yuv4mpegpipe
bit g723_1 image_qdraw_pipe mpl2 pva swf
bmv g726 image_sgi_pipe mpsub pvf tak
boa g726le image_sunrast_pipe msf qcp tedcaptions
brstm g729 image_svg_pipe msnwc_tcp r3d thp
c93 gdv image_tiff_pipe mtaf rawvideo threedostr
caf genh image_webp_pipe mtv realtext tiertexseq
Enabled muxers:
a64 data gxf mjpeg ogv psp tg2
ac3 daud h261 mkvtimestamp_v2 oma rawvideo tgp
adts dirac h263 mlp opus rm truehd
adx dnxhd h264 mmf pcm_alaw roq tta
aiff dts hash mov pcm_f32be rso uncodedframecrc
amr dv hds mp2 pcm_f32le rtp vc1
apng eac3 hevc mp3 pcm_f64be rtp_mpegts vc1t
aptx f4v hls mp4 pcm_f64le rtsp voc
aptx_hd ffmetadata ico mpeg1system pcm_mulaw sap w64
asf fifo ilbc mpeg1vcd pcm_s16be sbc wav
asf_stream fifo_test image2 mpeg1video pcm_s16le scc webm
ass filmstrip image2pipe mpeg2dvd pcm_s24be segafilm webm_chunk
ast fits ipod mpeg2svcd pcm_s24le segment webm_dash_manifest
au flac ircam mpeg2video pcm_s32be singlejpeg webp
avi flv ismv mpeg2vob pcm_s32le smjpeg webvtt
avm2 framecrc ivf mpegts pcm_s8 smoothstreaming wtv
avs2 framehash jacosub mpjpeg pcm_u16be sox wv
bit framemd5 latm mxf pcm_u16le spdif yuv4mpegpipe
caf g722 lrc mxf_d10 pcm_u24be spx
cavsvideo g723_1 m4v mxf_opatom pcm_u24le srt
codec2 g726 matroska null pcm_u32be stream_segment
codec2raw g726le matroska_audio nut pcm_u32le sup
crc gif md5 oga pcm_u8 swf
dash gsm microdvd ogg pcm_vidc tee
Enabled protocols:
async ffrtmphttp http mmst rtp tee
cache file httpproxy pipe sctp udp
concat ftp icecast prompeg srtp udplite
crypto gopher md5 rtmp subfile unix
data hls mmsh rtmpt tcp
Enabled filters:
abench anullsrc colorchannelmixer extrastereo limiter random sobel
abitscope apad colorhold fade loop readeia608 spectrumsynth
acompressor aperms colorkey fftdnoiz loudnorm readvitc split
acontrast aphasemeter colorlevels fftfilt lowpass realtime sr
acopy aphaser colorspace field lowshelf remap ssim
acrossfade apulsator compand fieldhint lumakey removegrain stereotools
acrossover arealtime compensationdelay fieldmatch lut removelogo stereowiden
acrusher aresample concat fieldorder lut1d replaygain streamselect
acue areverse convolution fifo lut2 reverse superequalizer
adeclick aselect convolve fillborders lut3d rgbashift surround
adeclip asendcmd copy firequalizer lutrgb rgbtestsrc swaprect
adelay asetnsamples crop flanger lutyuv roberts swapuv
aderivative asetpts crossfeed floodfill mandelbrot rotate tblend
adrawgraph asetrate crystalizer format maskedclamp scale telecine
aecho asettb cue fps maskedmerge scale2ref testsrc
aemphasis ashowinfo curves framepack maskfun select testsrc2
aeval asidedata datascope framerate mcompand selectivecolor threshold
aevalsrc asoftclip dcshift framestep mergeplanes sendcmd thumbnail
afade asplit dctdnoiz freezedetect mestimate separatefields tile
afftdn astats deband gblur metadata setdar tlut2
afftfilt astreamselect deblock gradfun midequalizer setfield tmix
afifo atadenoise decimate graphmonitor minterpolate setparams tonemap
afir atempo deconvolve greyedge mix setpts tpad
aformat atrim dedot haas movie setrange transpose
agate avectorscope deesser haldclut negate setsar treble
agraphmonitor avgblur deflate haldclutsrc nlmeans settb tremolo
ahistogram bandpass deflicker hdcd noformat showcqt trim
aiir bandreject dejudder headphone noise showfreqs unpremultiply
aintegral bass derain hflip normalize showinfo unsharp
ainterleave bbox deshake highpass null showpalette vectorscope
alimiter bench despill highshelf nullsink showspatial vflip
allpass biquad detelecine hilbert nullsrc showspectrum vfrdet
allrgb bitplanenoise dilation histogram oscilloscope showspectrumpic vibrance
allyuv blackdetect displace hqx overlay showvolume vibrato
aloop blend doubleweave hstack pad showwaves vignette
alphaextract bm3d drawbox hue pal100bars showwavespic vmafmotion
alphamerge bwdif drawgraph hwdownload pal75bars shuffleframes volume
amerge cellauto drawgrid hwmap palettegen shuffleplanes volumedetect
ametadata channelmap drmeter hwupload paletteuse sidechaincompress vstack
amix channelsplit dynaudnorm hysteresis pan sidechaingate w3fdif
amovie chorus earwax idet perms sidedata waveform
amplify chromahold ebur128 il pixdesctest signalstats weave
amultiply chromakey edgedetect inflate pixscope silencedetect xbr
anequalizer chromashift elbg interleave premultiply silenceremove xmedian
anlmdn ciescope entropy join prewitt sinc xstack
anoisesrc codecview equalizer lagfun pseudocolor sine yadif
anull color erosion lenscorrection psnr smptebars yuvtestsrc
anullsink colorbalance extractplanes life qp smptehdbars zoompan
Enabled bsfs:
aac_adtstoasc dump_extradata h264_mp4toannexb imx_dump_header mpeg2_metadata remove_extradata vp9_raw_reorder
av1_frame_split eac3_core h264_redundant_pps mjpeg2jpeg mpeg4_unpack_bframes text2movsub vp9_superframe
av1_metadata extract_extradata hapqa_extract mjpega_dump_header noise trace_headers vp9_superframe_split
chomp filter_units hevc_metadata mov2textsub null truehd_core
dca_core h264_metadata hevc_mp4toannexb mp3_header_decompress prores_metadata vp9_metadata
Enabled indevs:
alsa fbdev lavfi oss v4l2 xcbgrab
Enabled outdevs:
alsa fbdev oss v4l2
License: LGPL version 2.1 or later
make
GEN libavutil/libavutil.version
GEN libswscale/libswscale.version
GEN libswresample/libswresample.version
GEN libavcodec/libavcodec.version
GEN libavformat/libavformat.version
GEN libavfilter/libavfilter.version
GEN libavdevice/libavdevice.version
CC libavdevice/alldevices.o
CC libavdevice/alsa.o
CC libavdevice/alsa_dec.o
CC libavdevice/alsa_enc.o
CC libavdevice/avdevice.o
libavdevice/avdevice.c: In function ‘device_next’:
libavdevice/avdevice.c:88:13: warning: ‘av_oformat_next’ is deprecated [-Wdeprecated-declarations]
if (!(prev = av_oformat_next(prev)))
^~
In file included from libavdevice/avdevice.h:51:0,
from libavdevice/avdevice.c:23:
./libavformat/avformat.h:2095:17: note: declared here
AVOutputFormat *av_oformat_next(const AVOutputFormat *f);
^~~~~~~~~~~~~~~
libavdevice/avdevice.c:92:13: warning: ‘av_iformat_next’ is deprecated [-Wdeprecated-declarations]
if (!(prev = av_iformat_next(prev)))
^~
In file included from libavdevice/avdevice.h:51:0,
from libavdevice/avdevice.c:23:
./libavformat/avformat.h:2087:17: note: declared here
AVInputFormat *av_iformat_next(const AVInputFormat *f);
^~~~~~~~~~~~~~~
CC libavdevice/fbdev_common.o
CC libavdevice/fbdev_dec.o
CC libavdevice/fbdev_enc.o
CC libavdevice/lavfi.o
CC libavdevice/oss.o
CC libavdevice/oss_dec.o
CC libavdevice/oss_enc.o
CC libavdevice/timefilter.o
CC libavdevice/utils.o
CC libavdevice/v4l2-common.o
CC libavdevice/v4l2.o
In file included from libavdevice/v4l2.c:39:0:
/usr/src/jetson_multimedia_api/include/libv4l2.h:30:5: warning: "HAVE_VISIBILITY" is not defined, evaluates to 0 [-Wundef]
#if HAVE_VISIBILITY
^~~~~~~~~~~~~~~
libavdevice/v4l2.c: In function ‘v4l2_get_device_list’:
libavdevice/v4l2.c:1054:58: warning: ‘%s’ directive output may be trunc
fftools/ffprobe.c:2576:13: warning: ‘timecode_frame_start’ is deprecated [-Wdeprecated-declarations]
av_timecode_make_mpeg_tc_string(tcbuf, dec_ctx->timecode_frame_start);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./libavformat/avformat.h:317:0,
from fftools/ffprobe.c:31:
./libavcodec/avcodec.h:2527:13: note: declared here
int64_t timecode_frame_start;
^~~~~~~~~~~~~~~~~~~~
fftools/ffprobe.c:2640:5: warning: ‘codec’ is deprecated [-Wdeprecated-declarations]
if (stream->codec->rc_max_rate > 0) print_val ("max_bit_rate", stream->codec->rc_max_rate, unit_bit_per_second_str);
^~
In file included from fftools/ffprobe.c:31:0:
./libavformat/avformat.h:885:21: note: declared here
AVCodecContext *codec;
^~~~~
fftools/ffprobe.c:1822:12: warning: ‘codec’ is deprecated [-Wdeprecated-declarations]
struct unit_value uv; \
^
fftools/ffprobe.c:2640:41: note: in expansion of macro ‘print_val’
if (stream->codec->rc_max_rate > 0) print_val ("max_bit_rate", stream->codec->rc_max_rate, unit_bit_per_second_str);
^~~~~~~~~
In file included from fftools/ffprobe.c:31:0:
./libavformat/avformat.h:885:21: note: declared here
AVCodecContext *codec;
^~~~~
fftools/ffprobe.c: In function ‘open_input_file’:
fftools/ffprobe.c:2933:13: warning: ‘codec’ is deprecated [-Wdeprecated-declarations]
ist->dec_ctx->coded_width = stream->codec->coded_width;
^~~
In file included from fftools/ffprobe.c:31:0:
./libavformat/avformat.h:885:21: note: declared here
AVCodecContext *codec;
^~~~~
fftools/ffprobe.c:2934:13: warning: ‘codec’ is deprecated [-Wdeprecated-declarations]
ist->dec_ctx->coded_height = stream->codec->coded_height;
^~~
In file included from fftools/ffprobe.c:31:0:
./libavformat/avformat.h:885:21: note: declared here
AVCodecContext *codec;
^~~~~
LD ffprobe_g
STRIP ffprobe
编译完了那就解码试试看看结果
ljx@ljx-desktop:~/ffmpeg-4.2.7$ ./ffmpeg -c:v h264_nvv4l2dec -i /opt/nvidia/deepstream/deepstream-6.0/samples/streams/sample_720p.mp4 -f null -
nvbuf_utils: Could not get EGL display connection
ffmpeg version 4.2.7 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 7 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)
configuration: --enable-nvv4l2dec --enable-libv4l2 --extra-libs='-L/usr/lib/aarch64-linux-gnu/tegra -lnvbuf_utils' --extra-cflags='-I /usr/src/jetson_multimedia_api/include/'
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/opt/nvidia/deepstream/deepstream-6.0/samples/streams/sample_720p.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.83.100
Duration: 00:00:48.07, start: 0.000000, bitrate: 2592 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 2455 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
Opening in BLOCKING MODE
NvMMLiteOpen : Block : BlockType = 261
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 261
Stream mapping:
Stream #0:0 -> #0:0 (h264 (h264_nvv4l2dec) -> wrapped_avframe (native))
Stream #0:1 -> #0:1 (aac (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.29.100
Stream #0:0(eng): Video: wrapped_avframe, yuv420p, 1280x720, q=2-31, 200 kb/s, 30 fps, 30 tbn, 30 tbc (default)
Metadata:
handler_name : VideoHandler
encoder : Lavc58.54.100 wrapped_avframe
Stream #0:1(eng): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s (default)
Metadata:
handler_name : SoundHandler
encoder : Lavc58.54.100 pcm_s16le
frame= 1438 fps=301 q=-0.0 Lsize=N/A time=00:00:47.97 bitrate=N/A speed=10.1x
video:753kB audio:8996kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
收工