Hello. Currently I am in process of configuring my OpenWRT setup. It will be deployed on x86_64 Platform. Main goal is to be not only router but also provide video (with sound) surveilance with help of USB and IP-cams.
Here is my .config so far
Of course I DO NOT uncheck default options. I only show options which I choose in addition.
Firmware ->
intel_microcodes (For I plan to deploy OpenWRT on Intel CPUs and want it to up to date and secure)
Kernel Modules -> Block devices:
kmod-ata-ahci
kmod-ata-core
kmod-ata-via-sata
(For I want support for SATA interface and SATA interface for some old VIA chipsets also)
kmod-scsi-core (To support SCSI interface)
Kernel Modules -> Filesystems:
kmod-fs-ext4 (EXT4 filesystem support. For I plan to connect ext4 harddrive as filestorage cause I know that ext4 is most reliable and advanced filesystem)
kmod-fs-nfs
kmod-fs-nfs-common
kmod-nfs-nfs-v4
(For I plan to use nfs-server with most secure protocol version)
Network devices:
amazon-ena (DISABLED for it is necessary only in Amazon network infrastructure which I do not have)
kmod-8139cp (Old Realtek NetCards support)
kmod-atl1 (Old Atheros Cards support)
kmod-atl1e
kmod-atl1c
kmod-atl2
kmod-b44 (Old Broadcom NetCards)
knod-bnx2 (Also some ancient network cards support)
kmod-e100 (Old Intel NetCards support)
kmod-r8168 (Support for Old Realtek PCI-netcards)
kmod-phy-broadcom (Support of PHY-interface for broadcom netcards)
kmod-phy-marvell (Support of PHY-interface for marvell netcards)
kmod-r8101 (Support for older and integrated Realtec PCI-network cards)
kmod-r8168 (Same)
kmod-r8169 (Same)
Kernel Modules -> USB Support:
kmod-usb-core (USB-Bus support)
kmod-usb-net (Support for internet connection sharing via smartfone USB interface)
Kernel Modules -> Video Support:
kmod-video-core (Support for video)
kmod-video-gspca-core (Support fo older USB-cams)
kmod-video-pwc для (Some Philips webcams and some Logitech webcams support)
kmod-video-uvc для (Modern USB web-cams support)
kmod-video-videobuf2: (to increase performance and prevent memory leak when working with video).
Libraries:
libffmpeg-audio-dec (Support for sound in ffmpeg).
libffmpeg-custom (To set up ffmpeg with H265, H264 support)
Use code with complex licensing requirements (Need to use HEVC and H.264 to decode video stream from IP-Camera)
Include patented codecs and technologies (Need to use HEVC and H.264 to decode video stream from IP-Camera)
Build libffmpeg for performance instead of minimizing size on disk (I have plenty of disk space, so let it be)
Use (L)GPL v3 (Just incase)
Include support for most audio decoding requirements (I plan to write video-files from IP-camera with sound, so I believe I must enable this option)
*** Decoders ***
H.264
HEVC / H.265 Video
MPEG Video
MPEG-1 Video
MPEG-2 Video
MPEG-4
*** Muxers ***
AC3
AVI
H.264 Raw Video
HEVC / H265 Raw Video
MP3 (MPEG Audio Layer 3)
MP4
MPEG-1 Video
MPEG-2 Video
MPEG-2 (TS)
*** Demuxers ***
H.264
HEVC / H.265 Video
*** Parsers ***
AC3
AVI
H.264 Raw Video
HEVC / H265 Raw Video
MP3 (MPEG Audio Layer 3)
MP4
MPEG-1 Video
MPEG-2 Video
MPEG-2 (TS)
Luci ->
luci
luci-light
luci-ssl
Luci -> Applications
luci-app-https-dns-proxy (DoH web-panel)
luci-app-v2raya (v2raya web-panel)
Mail ->
msmtp (to send notifications if necessary)
Multimedia ->
ffmpeg-custom (I do not why, but just incase)
motion (Yet I can not see options so that I can configure it to support ffmpeg. May be I have to recompile motion as single package and install it via OpenWRT web-interface then).
Network -> Dual up/in:
rp-pppoe-common (for PPPoE connections)
rp-pppoe-relay
rp-pppoe-server
Network -> File Transfer:
curl
wget-ssl
Network -> Filesystem:
nfs-kernel-server
nfs-kernel-server-utils
Network -> IpAddresses and Names:
https-dns-proxy (I believe it is the same package which I install via: opkg install https-dns-proxy)
Sound:
alsa-utils (So that motion can write video from cameras with sound)
Utilities -> Compression:
gzip (So that I can unpack different archive files)
Utilities -> Disk:
fdisk (I want to add disk and use it as filestorage)
lsblk (to add disk I first need to identify it)
blkid (just in case)
Utilities -> Editors:
vim (To edit config files and different stuff)
Utilities -> Time Zone Info:
zoneinfo-core
Utilities ->
dmesg (to look through logs of boot process if necessary)
grep (most valuable tool for diagnostics and getting info)
hwinfo (I believe it is necessary for LuCi to represent hardware listed in system)
kmod (to handle drivers and install them like "opkg install kmod-usb" for example)
less (a tool that allow to see screen-by-screen output of long texts, for example "dmesg | less" to see info part by part)