يمكنني استخدام Ubuntu 24.04 مع VAAPI لفك تشفير فيديو الأجهزة على متصفحيي. لتمكين فك تشفير الأجهزة في Google chrome و Microsoft Edge على Linux ، تحتاج إلى إضافة معلمات سطر الأوامر ("-الحوابع القابلة للتمكين = vaapivideodecoder ، vaapivideoencoder ، vaapivideodecodeLinuxgl). الخطوط التي تبدأ بـ "exec" في ملفات .desktop الخاصة بهم
هذا واضح بما فيه الكفاية ، ولكن المشكلة هي أنه كلما كان هناك تحديث للبرنامج لأي من هذه المتصفحات ، يتم كتابة ملف .desktop الخاص به بحيث يتعين عليك القيام بذلك مرة أخرى. يمكنك وضع ملفات سطح المكتب المحدثة على ~/.local/مشاركة/تطبيقات حيث تتجاوز النسخ الأصلية ولا يتم كتابتها بشكل مفرط ، ولكن بين الحين والآخر يغير المسار إلى أيقونة المتصفح حتى يختفي زر المتصفح! بعد أن سئمت من هذا ، قررت كتابة هذا البرنامج النصي.
قم بتشغيله وسيضمن أن أي خطوط exec في ملفات سطح المكتب المدرجة التي لا تنتهي في المعلمات المطلوبة سوف يتم إلحاقها ، أي ما زال يتم تركها بمفردها. سيتم نسخ الملف المحدث إلى ~/.local/share/applications حيث سيتم تجاوز ملف .desktop المثبت أصلاً. نظرًا لأنه لن يتأثر بالتحديثات اللاحقة ، فإن معلمات VAAPI ستنجو منها ، ولكن في بعض الأحيان يتم تغيير مسارات الأيقونات وما إلى ذلك في التحديثات ، مما يتطلب إعادة تشغيل هذا البرنامج النصي لأخذ في الاعتبار ذلك.
يجب أن تحتوي صفائف سطح المكتب على معلمات سطر الأوامر المقابلة التي يتم تطبيقها على جميع ملفات سطح المكتب المدرجة في تلك الصفيف. يجب أن تحتوي المصفوفات على المسارات الكاملة لجميع ملفات سطح المكتب المتصفح التي تريد أن تكون قادرًا على الحفاظ على معلمات سطر الأوامر المقابلة. منجم:-
للمتصفحات على أساس chromium> = الإصدار 131
declare -a desktopFiles=( " /var/lib/snapd/desktop/applications/brave_brave.desktop "
" /var/lib/snapd/desktop/applications/chromium_chromium.desktop "
" /usr/share/applications/microsoft-edge.desktop "
" /usr/share/applications/google-chrome.desktop " )
params= " --enable-features=AcceleratedVideoDecodeLinuxZeroCopyGL,AcceleratedVideoDecodeLinuxGL,AcceleratedVideoEncoder "للمتصفحات على أساس الكروم <الإصدار 131
declare -a desktopFiles2=() # None now, all browsers upgraded to version 131
params2= " --enable-features=VaapiVideoDecoder,VaapiVideoEncoder,VaapiVideoDecodeLinuxGL "يتم تعيين متغيرات Params على المعلمات التي تريد التأكد من أنها يتم إلحاقها بخطوط exec في الملفات المدرجة في الصفيف المقابل. تتم استدعاء وظيفة ProcessDesKtopFiles مع معلمات سطر EXEC المطلوبة كوسيطة أولى ومجموعة مسار ملفات سطح المكتب هي الثانية ، على النحو التالي:-
processDeskTopFiles $params " ${desktopFiles[@]} "
processDeskTopFiles $params2 " ${desktopFiles2[@]} " قم بتشغيل البرنامج النصي باستخدام حساب المستخدم الخاص بك:-
./update-desktop-files.shهذا كل شيء!