• Jetson Nano2GB(TX2\NX\XAVIER)使用ffmpeg进行硬解码配置笔记


     到目前为止Jetson设备ffmpeg 硬件编码尚不可用。

    l4t3261 jetpack4.6

     FFmpegLinux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括WindowsMac OS X等。这个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael Niedermayer主要负责维护。许多FFmpeg的开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视频编码标准,前面的"FF"代表"Fast Forward"。 FFmpeg编码库可以使用GPU加速

    nvidia论坛地址参考

    Jetson开发人员指南 

    1. $ echo "deb https://repo.download.nvidia.com/jetson/ffmpeg main main" | sudo tee -a /etc/apt/sources.list
    2. $ echo "deb-src https://repo.download.nvidia.com/jetson/ffmpeg main main" | sudo tee -a /etc/apt/sources.list
    3. $ sudo apt update
    4. $ apt source ffmpeg
    5. $ Reading package lists... Done
    6. Need to get 8,960 kB of source archives.
    7. Get:1 https://repo.download.nvidia.cn/jetson/ffmpeg main/main ffmpeg 7:4.2.7-nvidia (dsc) [592 B]
    8. Get:2 https://repo.download.nvidia.cn/jetson/ffmpeg main/main ffmpeg 7:4.2.7-nvidia (tar) [8,960 kB]
    9. Fetched 8,960 kB in 11s (834 kB/s)
    10. dpkg-source: info: extracting ffmpeg in ffmpeg-4.2.7
    11. dpkg-source: info: unpacking ffmpeg_4.2.7-nvidia.tar.xz

     

    1. cd ffmpeg-4.2.7/
    2. ljx@ljx-desktop:~/ffmpeg-4.2.7$ ls
    3. Changelog CONTRIBUTING.md COPYING.LGPLv2.1 debian fftools libavdevice libavresample libswresample MAINTAINERS README.md RELEASE_NOTES
    4. compat COPYING.GPLv2 COPYING.LGPLv3 doc INSTALL.md libavfilter libavutil libswscale Makefile README.nvidia tests
    5. configure COPYING.GPLv3 CREDITS ffbuild libavcodec libavformat libpostproc LICENSE.md presets RELEASE tools
    6. ljx@ljx-desktop:~/ffmpeg-4.2.7$ ffmepg -decoders | grep nvv
    7. -bash: ffmepg: command not found
    8. 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/"
    9. ERROR: libv4l2 not found using pkg-config

     尝试解决:

    1. sudo apt-get install libv4l-dev
    2. Reading package lists... Done
    3. Building dependency tree
    4. Reading state information... Done
    5. The following packages were automatically installed and are no longer required:
    6. 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
    7. kwayland-data kwin-common kwin-x11 libdebian-installer4 libjs-async libjs-inherits libjs-node-uuid libkdecorations2-5v5 libkdecorations2private5v5 libkf5activities5 libkf5attica5
    8. libkf5completion-data libkf5completion5 libkf5declarative-data libkf5declarative5 libkf5doctools5 libkf5globalaccel-data libkf5globalaccel5 libkf5globalaccelprivate5 libkf5idletime5
    9. libkf5jobwidgets-data libkf5jobwidgets5 libkf5kcmutils-data libkf5kcmutils5 libkf5kiocore5 libkf5kiontlm5 libkf5kiowidgets5 libkf5newstuff-data libkf5newstuff5 libkf5newstuffcore5
    10. libkf5package-data libkf5package5 libkf5plasma5 libkf5quickaddons5 libkf5solid5 libkf5solid5-data libkf5sonnet5-data libkf5sonnetcore5 libkf5sonnetui5 libkf5textwidgets-data
    11. libkf5textwidgets5 libkf5waylandclient5 libkf5waylandserver5 libkf5xmlgui-bin libkf5xmlgui-data libkf5xmlgui5 libkscreenlocker5 libkwin4-effect-builtins1 libkwineffects11
    12. libkwinglutils11 libkwinxrenderutils11 liblua50 liblualib50 libuv1-dev libwireshark14 libwiretap11 libwsutil12 libxcb-cursor0 libxcb-damage0 lua50 node-abbrev node-ansi
    13. 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
    14. 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
    15. 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
    16. 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
    17. 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
    18. python3-icu python3-pam python3-pyqt5.qtsvg python3-pyqt5.qtwebkit qml-module-org-kde-kquickcontrolsaddons rdate tasksel tasksel-data ubuntu-fan
    19. Use 'sudo apt autoremove' to remove them.
    20. The following NEW packages will be installed:
    21. libv4l-dev
    22. 0 upgraded, 1 newly installed, 0 to remove and 6 not upgraded.
    23. Need to get 98.6 kB of archives.
    24. After this operation, 404 kB of additional disk space will be used.
    25. Get:1 http://ports.ubuntu.com/ubuntu-ports bionic/main arm64 libv4l-dev arm64 1.14.2-1 [98.6 kB]
    26. Fetched 98.6 kB in 2s (65.4 kB/s)
    27. debconf: delaying package configuration, since apt-utils is not installed
    28. Selecting previously unselected package libv4l-dev:arm64.
    29. dpkg: warning: files list file for package 'libeigen3-dev' missing; assuming package has no files currently installed
    30. (Reading database ... 281683 files and directories currently installed.)
    31. Preparing to unpack .../libv4l-dev_1.14.2-1_arm64.deb ...
    32. Unpacking libv4l-dev:arm64 (1.14.2-1) ...
    33. 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 配置文件中以便始终执行此操作:)

    1. ./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/"
    2. install prefix /usr/local
    3. source path .
    4. C compiler gcc
    5. C library glibc
    6. ARCH aarch64 (generic)
    7. big-endian no
    8. runtime cpu detection yes
    9. NEON enabled yes
    10. VFP enabled yes
    11. debug symbols yes
    12. strip symbols yes
    13. optimize for size no
    14. optimizations yes
    15. static yes
    16. shared no
    17. postprocessing support no
    18. network support yes
    19. threading support pthreads
    20. safe bitstream reader yes
    21. texi2html enabled no
    22. perl enabled yes
    23. pod2man enabled yes
    24. makeinfo enabled no
    25. makeinfo supports HTML no
    26. External libraries:
    27. alsa iconv libxcb libxcb_shm lzma
    28. bzlib libv4l2 libxcb_shape libxcb_xfixes zlib
    29. External libraries providing hardware acceleration:
    30. cuda_llvm nvv4l2dec v4l2_m2m
    31. Libraries:
    32. avcodec avdevice avfilter avformat avutil swresample swscale
    33. Programs:
    34. ffmpeg ffprobe
    35. Enabled decoders:
    36. aac asv2 eatgq jpeg2000 pam roq v410
    37. aac_fixed atrac1 eatgv jpegls pbm roq_dpcm vb
    38. aac_latm atrac3 eatqi jv pcm_alaw rpza vble
    39. aasc atrac3al eightbps kgv1 pcm_bluray rscc vc1
    40. ac3 atrac3p eightsvx_exp kmvc pcm_dvd rv10 vc1_v4l2m2m
    41. ac3_fixed atrac3pal eightsvx_fib lagarith pcm_f16le rv20 vc1image
    42. adpcm_4xm atrac9 escape124 loco pcm_f24le rv30 vcr1
    43. adpcm_adx aura escape130 lscr pcm_f32be rv40 vmdaudio
    44. adpcm_afc aura2 evrc m101 pcm_f32le s302m vmdvideo
    45. adpcm_agm avrn exr mace3 pcm_f64be sami vmnc
    46. adpcm_aica avrp ffv1 mace6 pcm_f64le sanm vorbis
    47. adpcm_ct avs ffvhuff magicyuv pcm_lxf sbc vp3
    48. adpcm_dtk avui ffwavesynth mdec pcm_mulaw scpr vp4
    49. adpcm_ea ayuv fic metasound pcm_s16be screenpresso vp5
    50. adpcm_ea_maxis_xa bethsoftvid fits microdvd pcm_s16be_planar sdx2_dpcm vp6
    51. adpcm_ea_r1 bfi flac mimic pcm_s16le sgi vp6a
    52. adpcm_ea_r2 bink flashsv mjpeg pcm_s16le_planar sgirle vp6f
    53. adpcm_ea_r3 binkaudio_dct flashsv2 mjpegb pcm_s24be sheervideo vp7
    54. adpcm_ea_xas binkaudio_rdft flic mlp pcm_s24daud shorten vp8
    55. adpcm_g722 bintext flv mmvideo pcm_s24le sipr vp8_nvv4l2dec
    56. adpcm_g726 bitpacked fmvc motionpixels pcm_s24le_planar smackaud vp8_v4l2m2m
    57. adpcm_g726le bmp fourxm movtext pcm_s32be smacker vp9
    58. adpcm_ima_amv bmv_audio fraps mp1 pcm_s32le smc vp9_nvv4l2dec
    59. adpcm_ima_apc bmv_video frwu mp1float pcm_s32le_planar smvjpeg vp9_v4l2m2m
    60. adpcm_ima_dat4 brender_pix g2m mp2 pcm_s64be snow vplayer
    61. adpcm_ima_dk3 c93 g723_1 mp2float pcm_s64le sol_dpcm vqa
    62. adpcm_ima_dk4 cavs g729 mp3 pcm_s8 sonic wavpack
    63. adpcm_ima_ea_eacs ccaption gdv mp3adu pcm_s8_planar sp5x wcmv
    64. adpcm_ima_ea_sead cdgraphics gif mp3adufloat pcm_u16be speedhq webp
    65. adpcm_ima_iss cdxl gremlin_dpcm mp3float pcm_u16le srgc webvtt
    66. adpcm_ima_oki cfhd gsm mp3on4 pcm_u24be srt wmalossless
    67. adpcm_ima_qt cinepak gsm_ms mp3on4float pcm_u24le ssa wmapro
    68. adpcm_ima_rad clearvideo h261 mpc7 pcm_u32be stl wmav1
    69. adpcm_ima_smjpeg cljr h263 mpc8 pcm_u32le subrip wmav2
    70. adpcm_ima_wav cllc h263_v4l2m2m mpeg1_v4l2m2m pcm_u8 subviewer wmavoice
    71. adpcm_ima_ws comfortnoise h263i mpeg1video pcm_vidc subviewer1 wmv1
    72. adpcm_ms cook h263p mpeg2_nvv4l2dec pcm_zork sunrast wmv2
    73. adpcm_mtaf cpia h264 mpeg2_v4l2m2m pcx svq1 wmv3
    74. adpcm_psx cscd h264_nvv4l2dec mpeg2video pgm svq3 wmv3image
    75. adpcm_sbpro_2 cyuv h264_v4l2m2m mpeg4 pgmyuv tak wnv1
    76. adpcm_sbpro_3 dca hap mpeg4_nvv4l2dec pgssub targa wrapped_avframe
    77. adpcm_sbpro_4 dds hcom mpeg4_v4l2m2m pictor targa_y216 ws_snd1
    78. adpcm_swf dfa hevc mpegvideo pixlet tdsc xan_dpcm
    79. adpcm_thp dirac hevc_nvv4l2dec mpl2 pjs text xan_wc3
    80. adpcm_thp_le dnxhd hevc_v4l2m2m msa1 png theora xan_wc4
    81. adpcm_vima dolby_e hnm4_video mscc ppm thp xbin
    82. adpcm_xa dpx hq_hqa msmpeg4v1 prores tiertexseqvideo xbm
    83. adpcm_yamaha dsd_lsbf hqx msmpeg4v2 prosumer tiff xface
    84. agm dsd_lsbf_planar huffyuv msmpeg4v3 psd tmv xl
    85. aic dsd_msbf hymt msrle ptx truehd xma1
    86. alac dsd_msbf_planar iac mss1 qcelp truemotion1 xma2
    87. alias_pix dsicinaudio idcin mss2 qdm2 truemotion2 xpm
    88. als dsicinvideo idf msvideo1 qdmc truemotion2rt xsub
    89. amrnb dss_sp iff_ilbm mszh qdraw truespeech xwd
    90. amrwb dst ilbc mts2 qpeg tscc y41p
    91. amv dvaudio imc mvc1 qtrle tscc2 ylc
    92. anm dvbsub imm4 mvc2 r10k tta yop
    93. ansi dvdsub indeo2 mwsc r210 twinvq yuv4
    94. ape dvvideo indeo3 mxpeg ra_144 txd zero12v
    95. apng dxa indeo4 nellymoser ra_288 ulti zerocodec
    96. aptx dxtory indeo5 nuv ralf utvideo zlib
    97. aptx_hd dxv interplay_acm on2avc rasc v210 zmbv
    98. arbc eac3 interplay_dpcm opus rawvideo v210x
    99. ass eacmv interplay_video paf_audio realtext v308
    100. asv1 eamad jacosub paf_video rl2 v408
    101. Enabled encoders:
    102. a64multi avrp h261 nellymoser pcm_s64le rawvideo v308
    103. a64multi5 avui h263 opus pcm_s8 roq v408
    104. aac ayuv h263_v4l2m2m pam pcm_s8_planar roq_dpcm v410
    105. ac3 bmp h263p pbm pcm_u16be rv10 vc2
    106. ac3_fixed cinepak h264_v4l2m2m pcm_alaw pcm_u16le rv20 vorbis
    107. adpcm_adx cljr hevc_v4l2m2m pcm_dvd pcm_u24be s302m vp8_v4l2m2m
    108. adpcm_g722 comfortnoise huffyuv pcm_f32be pcm_u24le sbc wavpack
    109. adpcm_g726 dca jpeg2000 pcm_f32le pcm_u32be sgi webvtt
    110. adpcm_g726le dnxhd jpegls pcm_f64be pcm_u32le snow wmav1
    111. adpcm_ima_qt dpx ljpeg pcm_f64le pcm_u8 sonic wmav2
    112. adpcm_ima_wav dvbsub magicyuv pcm_mulaw pcm_vidc sonic_ls wmv1
    113. adpcm_ms dvdsub mjpeg pcm_s16be pcx srt wmv2
    114. adpcm_swf dvvideo mlp pcm_s16be_planar pgm ssa wrapped_avframe
    115. adpcm_yamaha eac3 movtext pcm_s16le pgmyuv subrip xbm
    116. alac ffv1 mp2 pcm_s16le_planar png sunrast xface
    117. alias_pix ffvhuff mp2fixed pcm_s24be ppm svq1 xsub
    118. amv fits mpeg1video pcm_s24daud prores targa xwd
    119. apng flac mpeg2video pcm_s24le prores_aw text y41p
    120. aptx flashsv mpeg4 pcm_s24le_planar prores_ks tiff yuv4
    121. aptx_hd flashsv2 mpeg4_v4l2m2m pcm_s32be qtrle truehd zlib
    122. ass flv msmpeg4v2 pcm_s32le r10k tta zmbv
    123. asv1 g723_1 msmpeg4v3 pcm_s32le_planar r210 utvideo
    124. asv2 gif msvideo1 pcm_s64be ra_144 v210
    125. Enabled hwaccels:
    126. Enabled parsers:
    127. aac cavsvideo dvbsub gsm mpeg4video rv40 vp8
    128. aac_latm cook dvd_nav h261 mpegaudio sbc vp9
    129. ac3 dca dvdsub h263 mpegvideo sipr xma
    130. adx dirac flac h264 opus tak
    131. av1 dnxhd g723_1 hevc png vc1
    132. avs2 dpx g729 mjpeg pnm vorbis
    133. bmp dvaudio gif mlp rv30 vp3
    134. Enabled demuxers:
    135. aa cavsvideo gif image_xpm_pipe musx redspark tmv
    136. aac cdg gsm image_xwd_pipe mv rl2 truehd
    137. ac3 cdxl gxf ingenient mvi rm tta
    138. acm cine h261 ipmovie mxf roq tty
    139. act codec2 h263 ircam mxg rpl txd
    140. adf codec2raw h264 iss nc rsd ty
    141. adp concat hcom iv8 nistsphere rso v210
    142. ads data hevc ivf nsp rtp v210x
    143. adx daud hls ivr nsv rtsp vag
    144. aea dcstr hnm jacosub nut s337m vc1
    145. afc dfa ico jv nuv sami vc1t
    146. aiff dhav idcin kux ogg sap vividas
    147. aix dirac idf live_flv oma sbc vivo
    148. amr dnxhd iff lmlm4 paf sbg vmd
    149. amrnb dsf ifv loas pcm_alaw scc vobsub
    150. amrwb dsicin ilbc lrc pcm_f32be sdp voc
    151. anm dss image2 lvf pcm_f32le sdr2 vpk
    152. apc dts image2_alias_pix lxf pcm_f64be sds vplayer
    153. ape dtshd image2_brender_pix m4v pcm_f64le sdx vqf
    154. apng dv image2pipe matroska pcm_mulaw segafilm w64
    155. aptx dvbsub image_bmp_pipe mgsts pcm_s16be ser wav
    156. aptx_hd dvbtxt image_dds_pipe microdvd pcm_s16le shorten wc3
    157. aqtitle dxa image_dpx_pipe mjpeg pcm_s24be siff webm_dash_manifest
    158. asf ea image_exr_pipe mjpeg_2000 pcm_s24le sln webvtt
    159. asf_o ea_cdata image_gif_pipe mlp pcm_s32be smacker wsaud
    160. ass eac3 image_j2k_pipe mlv pcm_s32le smjpeg wsd
    161. ast epaf image_jpeg_pipe mm pcm_s8 smush wsvqa
    162. au ffmetadata image_jpegls_pipe mmf pcm_u16be sol wtv
    163. avi filmstrip image_pam_pipe mov pcm_u16le sox wv
    164. avr fits image_pbm_pipe mp3 pcm_u24be spdif wve
    165. avs flac image_pcx_pipe mpc pcm_u24le srt xa
    166. avs2 flic image_pgm_pipe mpc8 pcm_u32be stl xbin
    167. bethsoftvid flv image_pgmyuv_pipe mpegps pcm_u32le str xmv
    168. bfi fourxm image_pictor_pipe mpegts pcm_u8 subviewer xvag
    169. bfstm frm image_png_pipe mpegtsraw pcm_vidc subviewer1 xwma
    170. bink fsb image_ppm_pipe mpegvideo pjs sup yop
    171. bintext g722 image_psd_pipe mpjpeg pmp svag yuv4mpegpipe
    172. bit g723_1 image_qdraw_pipe mpl2 pva swf
    173. bmv g726 image_sgi_pipe mpsub pvf tak
    174. boa g726le image_sunrast_pipe msf qcp tedcaptions
    175. brstm g729 image_svg_pipe msnwc_tcp r3d thp
    176. c93 gdv image_tiff_pipe mtaf rawvideo threedostr
    177. caf genh image_webp_pipe mtv realtext tiertexseq
    178. Enabled muxers:
    179. a64 data gxf mjpeg ogv psp tg2
    180. ac3 daud h261 mkvtimestamp_v2 oma rawvideo tgp
    181. adts dirac h263 mlp opus rm truehd
    182. adx dnxhd h264 mmf pcm_alaw roq tta
    183. aiff dts hash mov pcm_f32be rso uncodedframecrc
    184. amr dv hds mp2 pcm_f32le rtp vc1
    185. apng eac3 hevc mp3 pcm_f64be rtp_mpegts vc1t
    186. aptx f4v hls mp4 pcm_f64le rtsp voc
    187. aptx_hd ffmetadata ico mpeg1system pcm_mulaw sap w64
    188. asf fifo ilbc mpeg1vcd pcm_s16be sbc wav
    189. asf_stream fifo_test image2 mpeg1video pcm_s16le scc webm
    190. ass filmstrip image2pipe mpeg2dvd pcm_s24be segafilm webm_chunk
    191. ast fits ipod mpeg2svcd pcm_s24le segment webm_dash_manifest
    192. au flac ircam mpeg2video pcm_s32be singlejpeg webp
    193. avi flv ismv mpeg2vob pcm_s32le smjpeg webvtt
    194. avm2 framecrc ivf mpegts pcm_s8 smoothstreaming wtv
    195. avs2 framehash jacosub mpjpeg pcm_u16be sox wv
    196. bit framemd5 latm mxf pcm_u16le spdif yuv4mpegpipe
    197. caf g722 lrc mxf_d10 pcm_u24be spx
    198. cavsvideo g723_1 m4v mxf_opatom pcm_u24le srt
    199. codec2 g726 matroska null pcm_u32be stream_segment
    200. codec2raw g726le matroska_audio nut pcm_u32le sup
    201. crc gif md5 oga pcm_u8 swf
    202. dash gsm microdvd ogg pcm_vidc tee
    203. Enabled protocols:
    204. async ffrtmphttp http mmst rtp tee
    205. cache file httpproxy pipe sctp udp
    206. concat ftp icecast prompeg srtp udplite
    207. crypto gopher md5 rtmp subfile unix
    208. data hls mmsh rtmpt tcp
    209. Enabled filters:
    210. abench anullsrc colorchannelmixer extrastereo limiter random sobel
    211. abitscope apad colorhold fade loop readeia608 spectrumsynth
    212. acompressor aperms colorkey fftdnoiz loudnorm readvitc split
    213. acontrast aphasemeter colorlevels fftfilt lowpass realtime sr
    214. acopy aphaser colorspace field lowshelf remap ssim
    215. acrossfade apulsator compand fieldhint lumakey removegrain stereotools
    216. acrossover arealtime compensationdelay fieldmatch lut removelogo stereowiden
    217. acrusher aresample concat fieldorder lut1d replaygain streamselect
    218. acue areverse convolution fifo lut2 reverse superequalizer
    219. adeclick aselect convolve fillborders lut3d rgbashift surround
    220. adeclip asendcmd copy firequalizer lutrgb rgbtestsrc swaprect
    221. adelay asetnsamples crop flanger lutyuv roberts swapuv
    222. aderivative asetpts crossfeed floodfill mandelbrot rotate tblend
    223. adrawgraph asetrate crystalizer format maskedclamp scale telecine
    224. aecho asettb cue fps maskedmerge scale2ref testsrc
    225. aemphasis ashowinfo curves framepack maskfun select testsrc2
    226. aeval asidedata datascope framerate mcompand selectivecolor threshold
    227. aevalsrc asoftclip dcshift framestep mergeplanes sendcmd thumbnail
    228. afade asplit dctdnoiz freezedetect mestimate separatefields tile
    229. afftdn astats deband gblur metadata setdar tlut2
    230. afftfilt astreamselect deblock gradfun midequalizer setfield tmix
    231. afifo atadenoise decimate graphmonitor minterpolate setparams tonemap
    232. afir atempo deconvolve greyedge mix setpts tpad
    233. aformat atrim dedot haas movie setrange transpose
    234. agate avectorscope deesser haldclut negate setsar treble
    235. agraphmonitor avgblur deflate haldclutsrc nlmeans settb tremolo
    236. ahistogram bandpass deflicker hdcd noformat showcqt trim
    237. aiir bandreject dejudder headphone noise showfreqs unpremultiply
    238. aintegral bass derain hflip normalize showinfo unsharp
    239. ainterleave bbox deshake highpass null showpalette vectorscope
    240. alimiter bench despill highshelf nullsink showspatial vflip
    241. allpass biquad detelecine hilbert nullsrc showspectrum vfrdet
    242. allrgb bitplanenoise dilation histogram oscilloscope showspectrumpic vibrance
    243. allyuv blackdetect displace hqx overlay showvolume vibrato
    244. aloop blend doubleweave hstack pad showwaves vignette
    245. alphaextract bm3d drawbox hue pal100bars showwavespic vmafmotion
    246. alphamerge bwdif drawgraph hwdownload pal75bars shuffleframes volume
    247. amerge cellauto drawgrid hwmap palettegen shuffleplanes volumedetect
    248. ametadata channelmap drmeter hwupload paletteuse sidechaincompress vstack
    249. amix channelsplit dynaudnorm hysteresis pan sidechaingate w3fdif
    250. amovie chorus earwax idet perms sidedata waveform
    251. amplify chromahold ebur128 il pixdesctest signalstats weave
    252. amultiply chromakey edgedetect inflate pixscope silencedetect xbr
    253. anequalizer chromashift elbg interleave premultiply silenceremove xmedian
    254. anlmdn ciescope entropy join prewitt sinc xstack
    255. anoisesrc codecview equalizer lagfun pseudocolor sine yadif
    256. anull color erosion lenscorrection psnr smptebars yuvtestsrc
    257. anullsink colorbalance extractplanes life qp smptehdbars zoompan
    258. Enabled bsfs:
    259. aac_adtstoasc dump_extradata h264_mp4toannexb imx_dump_header mpeg2_metadata remove_extradata vp9_raw_reorder
    260. av1_frame_split eac3_core h264_redundant_pps mjpeg2jpeg mpeg4_unpack_bframes text2movsub vp9_superframe
    261. av1_metadata extract_extradata hapqa_extract mjpega_dump_header noise trace_headers vp9_superframe_split
    262. chomp filter_units hevc_metadata mov2textsub null truehd_core
    263. dca_core h264_metadata hevc_mp4toannexb mp3_header_decompress prores_metadata vp9_metadata
    264. Enabled indevs:
    265. alsa fbdev lavfi oss v4l2 xcbgrab
    266. Enabled outdevs:
    267. alsa fbdev oss v4l2
    268. License: LGPL version 2.1 or later

    1. make
    2. GEN libavutil/libavutil.version
    3. GEN libswscale/libswscale.version
    4. GEN libswresample/libswresample.version
    5. GEN libavcodec/libavcodec.version
    6. GEN libavformat/libavformat.version
    7. GEN libavfilter/libavfilter.version
    8. GEN libavdevice/libavdevice.version
    9. CC libavdevice/alldevices.o
    10. CC libavdevice/alsa.o
    11. CC libavdevice/alsa_dec.o
    12. CC libavdevice/alsa_enc.o
    13. CC libavdevice/avdevice.o
    14. libavdevice/avdevice.c: In function ‘device_next’:
    15. libavdevice/avdevice.c:88:13: warning: ‘av_oformat_nextis deprecated [-Wdeprecated-declarations]
    16. if (!(prev = av_oformat_next(prev)))
    17. ^~
    18. In file included from libavdevice/avdevice.h:51:0,
    19. from libavdevice/avdevice.c:23:
    20. ./libavformat/avformat.h:2095:17: note: declared here
    21. AVOutputFormat *av_oformat_next(const AVOutputFormat *f);
    22. ^~~~~~~~~~~~~~~
    23. libavdevice/avdevice.c:92:13: warning: ‘av_iformat_nextis deprecated [-Wdeprecated-declarations]
    24. if (!(prev = av_iformat_next(prev)))
    25. ^~
    26. In file included from libavdevice/avdevice.h:51:0,
    27. from libavdevice/avdevice.c:23:
    28. ./libavformat/avformat.h:2087:17: note: declared here
    29. AVInputFormat *av_iformat_next(const AVInputFormat *f);
    30. ^~~~~~~~~~~~~~~
    31. CC libavdevice/fbdev_common.o
    32. CC libavdevice/fbdev_dec.o
    33. CC libavdevice/fbdev_enc.o
    34. CC libavdevice/lavfi.o
    35. CC libavdevice/oss.o
    36. CC libavdevice/oss_dec.o
    37. CC libavdevice/oss_enc.o
    38. CC libavdevice/timefilter.o
    39. CC libavdevice/utils.o
    40. CC libavdevice/v4l2-common.o
    41. CC libavdevice/v4l2.o
    42. In file included from libavdevice/v4l2.c:39:0:
    43. /usr/src/jetson_multimedia_api/include/libv4l2.h:30:5: warning: "HAVE_VISIBILITY" is not defined, evaluates to 0 [-Wundef]
    44. #if HAVE_VISIBILITY
    45. ^~~~~~~~~~~~~~~
    46. libavdevice/v4l2.c: In function ‘v4l2_get_device_list’:
    47. libavdevice/v4l2.c:1054:58: warning: ‘%s’ directive output may be trunc
    48. fftools/ffprobe.c:2576:13: warning: ‘timecode_frame_startis deprecated [-Wdeprecated-declarations]
    49. av_timecode_make_mpeg_tc_string(tcbuf, dec_ctx->timecode_frame_start);
    50. ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    51. In file included from ./libavformat/avformat.h:317:0,
    52. from fftools/ffprobe.c:31:
    53. ./libavcodec/avcodec.h:2527:13: note: declared here
    54. int64_t timecode_frame_start;
    55. ^~~~~~~~~~~~~~~~~~~~
    56. fftools/ffprobe.c:2640:5: warning: ‘codec’ is deprecated [-Wdeprecated-declarations]
    57. if (stream->codec->rc_max_rate > 0) print_val ("max_bit_rate", stream->codec->rc_max_rate, unit_bit_per_second_str);
    58. ^~
    59. In file included from fftools/ffprobe.c:31:0:
    60. ./libavformat/avformat.h:885:21: note: declared here
    61. AVCodecContext *codec;
    62. ^~~~~
    63. fftools/ffprobe.c:1822:12: warning: ‘codec’ is deprecated [-Wdeprecated-declarations]
    64. struct unit_value uv; \
    65. ^
    66. fftools/ffprobe.c:2640:41: note: in expansion of macro ‘print_val’
    67. if (stream->codec->rc_max_rate > 0) print_val ("max_bit_rate", stream->codec->rc_max_rate, unit_bit_per_second_str);
    68. ^~~~~~~~~
    69. In file included from fftools/ffprobe.c:31:0:
    70. ./libavformat/avformat.h:885:21: note: declared here
    71. AVCodecContext *codec;
    72. ^~~~~
    73. fftools/ffprobe.c: In functionopen_input_file’:
    74. fftools/ffprobe.c:2933:13: warning: ‘codec’ is deprecated [-Wdeprecated-declarations]
    75. ist->dec_ctx->coded_width = stream->codec->coded_width;
    76. ^~~
    77. In file included from fftools/ffprobe.c:31:0:
    78. ./libavformat/avformat.h:885:21: note: declared here
    79. AVCodecContext *codec;
    80. ^~~~~
    81. fftools/ffprobe.c:2934:13: warning: ‘codec’ is deprecated [-Wdeprecated-declarations]
    82. ist->dec_ctx->coded_height = stream->codec->coded_height;
    83. ^~~
    84. In file included from fftools/ffprobe.c:31:0:
    85. ./libavformat/avformat.h:885:21: note: declared here
    86. AVCodecContext *codec;
    87. ^~~~~
    88. LD ffprobe_g
    89. STRIP ffprobe

    编译完了那就解码试试看看结果

    1. 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 -
    2. nvbuf_utils: Could not get EGL display connection
    3. ffmpeg version 4.2.7 Copyright (c) 2000-2022 the FFmpeg developers
    4. built with gcc 7 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)
    5. 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/'
    6. libavutil 56. 31.100 / 56. 31.100
    7. libavcodec 58. 54.100 / 58. 54.100
    8. libavformat 58. 29.100 / 58. 29.100
    9. libavdevice 58. 8.100 / 58. 8.100
    10. libavfilter 7. 57.100 / 7. 57.100
    11. libswscale 5. 5.100 / 5. 5.100
    12. libswresample 3. 5.100 / 3. 5.100
    13. Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/opt/nvidia/deepstream/deepstream-6.0/samples/streams/sample_720p.mp4':
    14. Metadata:
    15. major_brand : isom
    16. minor_version : 512
    17. compatible_brands: isomiso2avc1mp41
    18. encoder : Lavf57.83.100
    19. Duration: 00:00:48.07, start: 0.000000, bitrate: 2592 kb/s
    20. Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 2455 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    21. Metadata:
    22. handler_name : VideoHandler
    23. Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    24. Metadata:
    25. handler_name : SoundHandler
    26. Opening in BLOCKING MODE
    27. NvMMLiteOpen : Block : BlockType = 261
    28. NVMEDIA: Reading vendor.tegra.display-size : status: 6
    29. NvMMLiteBlockCreate : Block : BlockType = 261
    30. Stream mapping:
    31. Stream #0:0 -> #0:0 (h264 (h264_nvv4l2dec) -> wrapped_avframe (native))
    32. Stream #0:1 -> #0:1 (aac (native) -> pcm_s16le (native))
    33. Press [q] to stop, [?] for help
    34. Output #0, null, to 'pipe:':
    35. Metadata:
    36. major_brand : isom
    37. minor_version : 512
    38. compatible_brands: isomiso2avc1mp41
    39. encoder : Lavf58.29.100
    40. Stream #0:0(eng): Video: wrapped_avframe, yuv420p, 1280x720, q=2-31, 200 kb/s, 30 fps, 30 tbn, 30 tbc (default)
    41. Metadata:
    42. handler_name : VideoHandler
    43. encoder : Lavc58.54.100 wrapped_avframe
    44. Stream #0:1(eng): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s (default)
    45. Metadata:
    46. handler_name : SoundHandler
    47. encoder : Lavc58.54.100 pcm_s16le
    48. frame= 1438 fps=301 q=-0.0 Lsize=N/A time=00:00:47.97 bitrate=N/A speed=10.1x
    49. video:753kB audio:8996kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

     

     收工

     

  • 相关阅读:
    2023最新SSM计算机毕业设计选题大全(附源码+LW)之java宠物领养平台2x520
    【结构设计】案例:为什么第一次安装会把220V电源输入接口装反
    什么是计算机网络
    部署LVS-NAT群集实验
    日本MF备案注册数据库-在线免费查询
    7. Component, Element, Instance 之间有什么区别和联系?
    向爬虫而生---Redis 探究篇4<Redis主从复制(2)>
    Abnova丨Abnova 异种原位移殖肿瘤模型解决方案
    暑期JAVA学习(34)线程同步
    解决Android Studio等开发软件出现更新TKK失败的两种方案
  • 原文地址:https://blog.csdn.net/weixin_46151178/article/details/127108715