到目前为止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加速
- $ 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
收工