Temat: Dodanie kompresji h264 do ffmpeg - OpenWrt 19.07

Hej,

Próbuję trochę na partyzanta dodać obsługę kompresji h264 do ffmpeg na OpenWrt 19.07 który sobie sam buduję.
W /feeds/packages/multimedia/ffmpeg/makefile zmeiniłem wszystkie DISABLE na ENABLE w liniach 508-512:

508,512c508,512
< $(call FFMPEG_DISABLE,decoder,$(FFMPEG_PATENTED_DECODERS)) \
< $(call FFMPEG_DISABLE,encoder,$(FFMPEG_PATENTED_ENCODERS)) \
< $(call FFMPEG_DISABLE,muxer,$(FFMPEG_PATENTED_MUXERS)) \
< $(call FFMPEG_DISABLE,demuxer,$(FFMPEG_PATENTED_DEMUXERS)) \
< $(call FFMPEG_DISABLE,parser,$(FFMPEG_PATENTED_PARSERS))) \
---
> $(call FFMPEG_ENABLE,decoder,$(FFMPEG_PATENTED_DECODERS)) \
> $(call FFMPEG_ENABLE,encoder,$(FFMPEG_PATENTED_ENCODERS)) \
> $(call FFMPEG_ENABLE,muxer,$(FFMPEG_PATENTED_MUXERS)) \
> $(call FFMPEG_ENABLE,demuxer,$(FFMPEG_PATENTED_DEMUXERS)) \
> $(call FFMPEG_ENABLE,parser,$(FFMPEG_PATENTED_PARSERS))) \

I to dało radę tylko dla kamer IP, które jak się okazało musiały mieć kompresję hardware, natomiast teraz próbuję się z kamerami analogowym CVBS i AHD i tutaj z moich poszukiwań wychodzi że muszę mieć kompresję software'ową na pokładzie. Mocy na NanoPi nie zabraknie do tego, tylko pytanie jak to dodać do ffmpeg?

2

Odp: Dodanie kompresji h264 do ffmpeg - OpenWrt 19.07

https://trac.ffmpeg.org/wiki/HWAccelIntro

Śmiem twierdzić że cały ffmpeg to będzie programowo obrabiany na tym prostym ARM'mie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez nicefile 2026-01-24 15:27:10)

Odp: Dodanie kompresji h264 do ffmpeg - OpenWrt 19.07

konfiguracja ffmpeg jest mocno ograniczona głownie dla kodeków nonfee
--disable-everything w Makefile blokuje wszysko co nie jest recznie wlaczone.
Zajrzyj do dokumentacji ffmpeg co dokładnie potrzebujesz i przełącz
Sam używam własną kompilację ffmpeg 7.1.0 z nonfree na 24.10 mvebu
edit:

root@wdcm:~# /usr/bin/ffmpeg
ffmpeg version 7.1.1 Copyright (c) 2000-2025 the FFmpeg developers
  built with gcc 13.3.0 (OpenWrt GCC 13.3.0 r28597-0425664679)
  configuration: --enable-cross-compile --cross-prefix=arm-openwrt-linux-muslgnueabi- --arch=arm --cpu=cortex-a9 --targ          et-os=linux --prefix=/usr --pkg-config=pkg-config --enable-shared --enable-static --enable-pthreads --enable-zlib --dis          able-doc --disable-debug --disable-lzma --disable-vaapi --disable-vdpau --disable-outdevs --disable-alsa --disable-inde          vs --disable-network --disable-runtime-cpudetect --enable-lto --disable-vfp --enable-neon --enable-vfp --disable-x86asm           --enable-hardcoded-tables --enable-gpl --enable-version3 --enable-nonfree --enable-avfilter --enable-ffmpeg --disable-          swscale --enable-encoder=ac3 --enable-encoder=jpegls --enable-encoder=mpeg1video --enable-encoder=mpeg2video --enable-e          ncoder=mpeg4 --enable-encoder=pcm_s16be --enable-encoder=pcm_s16le --enable-encoder=png --enable-encoder=vorbis --enabl          e-encoder=zlib --enable-decoder=aac --enable-decoder=ac3 --enable-decoder=alac --enable-decoder=amrnb --enable-decoder=          amrwb --enable-decoder=ape --enable-decoder=atrac3 --enable-decoder=flac --enable-decoder=gif --enable-decoder=h264 --e          nable-decoder=hevc --enable-decoder=jpegls --enable-decoder=mp2 --enable-decoder=mp3 --enable-decoder=mpeg1video --enab          le-decoder=mpeg2video --enable-decoder=mpeg4 --enable-decoder=mpegvideo --enable-decoder=mpc7 --enable-decoder=mpc8 --e          nable-decoder=pcm_s16be --enable-decoder=pcm_s16le --enable-decoder=png --enable-decoder=vc1 --enable-decoder=vorbis --          enable-decoder=wavpack --enable-decoder=wmav1 --enable-decoder=wmav2 --enable-decoder=zlib --enable-muxer=ac3 --enable-          muxer=avi --enable-muxer=h264 --enable-muxer=hevc --enable-muxer=mp3 --enable-muxer=mp4 --enable-muxer=mpeg1video --ena          ble-muxer=mpeg2video --enable-muxer=mpegts --enable-muxer=ogg --enable-muxer=rtp --enable-demuxer=aac --enable-demuxer=          ac3 --enable-demuxer=amr --enable-demuxer=ape --enable-demuxer=avi --enable-demuxer=flac --enable-demuxer=h264 --enable          -demuxer=hevc --enable-demuxer=matroska --enable-demuxer=mov --enable-demuxer=mp3 --enable-demuxer=mpegps --enable-demu          xer=mpegts --enable-demuxer=mpegvideo --enable-demuxer=mpc --enable-demuxer=mpc8 --enable-demuxer=ogg --enable-demuxer=          rm --enable-demuxer=rtsp --enable-demuxer=rtp --enable-demuxer=sdp --enable-demuxer=vc1 --enable-demuxer=wav --enable-d          emuxer=wv --enable-parser=aac --enable-parser=flac --enable-parser=ac3 --enable-parser=h264 --enable-parser=hevc --enab          le-parser=mpegaudio --enable-parser=mpeg4video --enable-parser=mpegvideo --enable-parser=vc1 --enable-protocol=file --e          nable-protocol=http --enable-protocol=rtp --enable-protocol=tcp --enable-protocol=udp --enable-decoder=adpcm_ima_wav --          enable-decoder=adpcm_ima_qt --enable-decoder=adpcm_ms --enable-libopus --enable-decoder=libopus --enable-encoder=libopu          s --disable-postproc
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.100 / 61.  7.100
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  4.100 / 10.  4.100
  libswresample   5.  3.100 /  5.  3.100
Universal media converter