Merge branch 'adding-jetson-codecs' into 'dev'

Add Jetson Nano Codec choices and FFmpeg installer

See merge request Shinobi-Systems/Shinobi!442
matrix-notifications^2
Moe 2023-02-07 23:00:30 +00:00
commit 1e1d62e792
4 changed files with 155 additions and 0 deletions

View File

@ -0,0 +1,20 @@
echo "deb https://repo.download.nvidia.com/jetson/ffmpeg main main" | sudo tee -a /etc/apt/sources.list.d/nvidia-ffmpeg.list
echo "deb-src https://repo.download.nvidia.com/jetson/ffmpeg main main" | sudo tee -a /etc/apt/sources.list.d/nvidia-ffmpeg.list
sudo apt update
sudo apt install -y ffmpeg=7:4.2.2-nvidia.1
if [ $? -ne 0 ]; then
echo "can't install compiled version , compiling from source instaead"
apt source ffmpeg
cd ffmpeg-4.2.7/
sudo apt install -y libegl1-mesa-dev
sudo apt install -y pkg-config
./configure --enable-nvv4l2dec --enable-libv4l2 --enable-shared --extra-libs="-L/usr/lib/aarch64-linux-gnu/tegra -lnvbuf_utils" --extra-cflags="-I /usr/src/jetson_multimedia_api/include/"
make -j 2
sudo make install
export LD_LIBRARY_PATH=/usr/local/lib/
sudo ldconfig
elif `ffmpeg -decoders | grep -q 'nvv4l2' > /dev/null 2>&1` ; then
echo "installed ffmpeg with HW Acceleration"
else
echo "Failed to install ffmpeg with HW Acceleration"
fi

View File

@ -672,6 +672,27 @@ module.exports = function(s,config,lang){
},
]
},
{
"name": lang.NVIDIA-Jetson,
"optgroup": [
{
"name": lang.h264_nvv4l2dec,
"value": "h264_nvv4l2dec"
},
{
"name": lang.hevc_nvv4l2dec,
"value": "hevc_nvv4l2dec"
},
{
"name": lang.mpeg2_nvv4l2dec,
"value": "mpeg2_nvv4l2dec"
},
{
"name": lang.mpeg4_nvv4l2dec,
"value": "mpeg4_nvv4l2dec"
},
]
},
{
"name": lang["Quick Sync Video"],
"optgroup": [
@ -901,6 +922,22 @@ module.exports = function(s,config,lang){
{
"name": "H.264 openMAX (Raspberry Pi)",
"value": "h264_omx"
},
{
"name": "H.264 nvv4l2 (NVIDIA Jetson)",
"value": "h264_nvv4l2dec"
},
{
"name": "H.265 nvv4l2 (NVIDIA Jetson)",
"value": "h265_nvv4l2dec"
},
{
"name": "MPEG2 nvv4l2 (NVIDIA Jetson)",
"value": "mpeg2_nvv4l2dec"
},
{
"name": "MPEG4 nvv4l2 (NVIDIA Jetson)",
"value": "mpeg4_nvv4l2dec"
}
]
},
@ -1509,6 +1546,27 @@ module.exports = function(s,config,lang){
},
]
},
{
"name": lang.NVIDIA-Jetson,
"optgroup": [
{
"name": lang.h264_nvv4l2dec,
"value": "h264_nvv4l2dec"
},
{
"name": lang.hevc_nvv4l2dec,
"value": "hevc_nvv4l2dec"
},
{
"name": lang.mpeg2_nvv4l2dec,
"value": "mpeg2_nvv4l2dec"
},
{
"name": lang.mpeg4_nvv4l2dec,
"value": "mpeg4_nvv4l2dec"
},
]
},
{
"name": lang["Quick Sync Video"],
"optgroup": [
@ -1679,6 +1737,22 @@ module.exports = function(s,config,lang){
{
"name": "H.264 openMAX (Raspberry Pi)",
"value": "h264_omx"
},
{
"name": "H.264 nvv4l2 (NVIDIA Jetson)",
"value": "h264_nvv4l2dec"
},
{
"name": "H.265 nvv4l2 (NVIDIA Jetson)",
"value": "h265_nvv4l2dec"
},
{
"name": "MPEG2 nvv4l2 (NVIDIA Jetson)",
"value": "mpeg2_nvv4l2dec"
},
{
"name": "MPEG4 nvv4l2 (NVIDIA Jetson)",
"value": "mpeg4_nvv4l2dec"
}
]
},
@ -2056,6 +2130,22 @@ module.exports = function(s,config,lang){
{
"name": "H.264 openMAX (Raspberry Pi)",
"value": "h264_omx"
},
{
"name": "H.264 nvv4l2 (NVIDIA Jetson)",
"value": "h264_nvv4l2dec"
},
{
"name": "H.265 nvv4l2 (NVIDIA Jetson)",
"value": "h265_nvv4l2dec"
},
{
"name": "MPEG2 nvv4l2 (NVIDIA Jetson)",
"value": "mpeg2_nvv4l2dec"
},
{
"name": "MPEG4 nvv4l2 (NVIDIA Jetson)",
"value": "mpeg4_nvv4l2dec"
}
]
},
@ -7023,6 +7113,27 @@ module.exports = function(s,config,lang){
},
]
},
{
"name": lang.NVIDIA-Jetson,
"optgroup": [
{
"name": lang.h264_nvv4l2dec,
"value": "h264_nvv4l2dec"
},
{
"name": lang.hevc_nvv4l2dec,
"value": "hevc_nvv4l2dec"
},
{
"name": lang.mpeg2_nvv4l2dec,
"value": "mpeg2_nvv4l2dec"
},
{
"name": lang.mpeg4_nvv4l2dec,
"value": "mpeg4_nvv4l2dec"
},
]
},
{
"name": lang["Quick Sync Video"],
"optgroup": [
@ -7225,6 +7336,22 @@ module.exports = function(s,config,lang){
{
"name": "H.264 openMAX (Raspberry Pi)",
"value": "h264_omx"
},
{
"name": "H.264 nvv4l2 (NVIDIA Jetson)",
"value": "h264_nvv4l2dec"
},
{
"name": "H.265 nvv4l2 (NVIDIA Jetson)",
"value": "h265_nvv4l2dec"
},
{
"name": "MPEG2 nvv4l2 (NVIDIA Jetson)",
"value": "mpeg2_nvv4l2dec"
},
{
"name": "MPEG4 nvv4l2 (NVIDIA Jetson)",
"value": "mpeg4_nvv4l2dec"
}
]
},

View File

@ -1167,6 +1167,10 @@
"hevc_cuvid": "H.265 CUVID",
"mjpeg_cuvid": "MJPEG CUVID",
"mpeg4_cuvid": "MPEG4 CUVID",
"h264_nvv4l2dec": "H.264 NVIDIA-Jetson",
"hevc_nvv4l2dec": "H.265 NVIDIA-Jetson",
"mpeg2_nvv4l2dec": "MPEG2 NVIDIA-Jetson",
"mpeg4_nvv4l2dec": "MPEG4 NVIDIA-Jetson",
"NVIDIA": "NVIDIA",
"VA-API": "VA-API",
"Raspberry Pi": "Raspberry Pi",

View File

@ -1490,6 +1490,10 @@
"h264_omx": "H.264 OpenMax (Raspberry Pi)",
"h264_qsv": "H.264 (Quick Sync Video)",
"h264_vaapi": "H.264 VA-API (Intel HW Accel)",
"h264_nvv4l2dec": "H.264 NVIDIA-Jetson",
"hevc_nvv4l2dec": "H.265 NVIDIA-Jetson",
"mpeg2_nvv4l2dec": "MPEG2 NVIDIA-Jetson",
"mpeg4_nvv4l2dec": "MPEG4 NVIDIA-Jetson",
"h265BrowserText1": "Если вы пытаетесь воспроизводить файл H.265, вам может потребоваться загрузить его и открыть его в другом приложении, таком как VLC.",
"hair drier": "фен",
"handbag": "сумочка",