User Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
embyserver [2022/01/23 13:44] – created normanembyserver [2025/05/16 03:38] (current) – [Emby Server Little helpers] norman
Line 1: Line 1:
 ====== Emby Server Little helpers ====== ====== Emby Server Little helpers ======
  
 +Linux File Permissions
 +
 +<code>
 +setfacl -m user:emby:rxw /mnt/videos
 +</code>
 +
 +<code>
 +setfacl -m user:emby:rxw /home/myusername
 +
 + 
 +
 +or to grant "read only" access to specific folders:
 +
 + 
 +
 +setfacl -m user:emby:rx /home/myusername/Music
 +
 + 
 +setfacl -m user:emby:rx /home/myusername/Videos
 + 
 +setfacl -m user:emby:rx /home/myusername/Pictures
 + 
 +Since Live TV must be read and written, then it's neccesary to grant "read" and "write" permissions:
 + 
 +setfacl -m user:emby:rxw /home/myusername/LiveTV
 +</code>
 +
 +Source: [[https://emby.media/community/index.php?/topic/32218-file-permissions-guide-for-new-linux-users/|External Link]]
 +===== Linux Shell Convert Videos with Emby NVIDIA HW transcoding =====
 +
 +First,  may need to add Emby libraries to Linux:
 +<code>ln -s /opt/emby-server/lib/libavdevice.so.59 /usr/lib/; \
 +ln -s /opt/emby-server/lib/libavfilter.so.8 /usr/lib/; \
 +ln -s /opt/emby-server/lib/libavformat.so.59 /usr/lib/; \
 +ln -s /opt/emby-server/lib/libavcodec.so.59 /usr/lib/; \
 +ln -s /opt/emby-server/lib/libpostproc.so.56 /usr/lib/; \
 +ln -s /opt/emby-server/lib/libswresample.so.4 /usr/lib/; \ 
 +ln -s /opt/emby-server/lib/libswscale.so.6 /usr/lib/; \
 +ln -s /opt/emby-server/lib/libavutil.so.57 /usr/lib/;</code>
 +
 +Then You can convert videos using Emby ffmpeg.
 +Example for HEVC:
 +<code>for i in *.mkv; do /opt/emby-server/bin/ffmpeg -y -start_at_zero -init_hw_device "cuda=cuda:0"  -i "$i" -map 0:v -map 0:a -c:v:0 hevc_nvenc -c:a copy  "${i%.mkv} - HD.mkv";done</code>
 +
 +Or scale down:
 +<code>for i in *.mkv; do /opt/emby-server/bin/ffmpeg -y -start_at_zero -init_hw_device "cuda=cuda:0"  -i "$i" -map 0:v -map 0:a -vf scale="iw/2:ih/2"  -c:a copy  "${i%.mkv} - HD.mkv";done</code>
 +
 +
 +
 +
 +===== Set niceness for the emby service =====
 +
 +Clean way to do this is with a service unit override.
 +
 +1. Stop emby and restore the original unit file.
 +<code>service emby-server stop</code>
 +
 +2. Verify that the unit file has the original ExecStart command:
 +<code>systemctl show emby-server |grep ExecStart</code>
 +
 +3. Create a unit override to add the Nice parameter. This will open an editor where you can add Nice=-5 to the service block.
 +<code>systemctl edit emby-server</code>
 +
 +Add:
 +<code>
 +[Service]
 +Nice=-20
 +</code>
 +4. Exit and save the override file. Y and enter for the prompts.
 +
 +5. Start the Emby server. And run top/htop to verify the new nice value.
 +<code>service emby-server start</code>
 +
 +Source: [[https://emby.media/community/index.php?/topic/118902-can-i-set-niceness-for-the-emby-service/|Emby forums]]
 ===== Announcement text at top of home page ===== ===== Announcement text at top of home page =====
  
Line 6: Line 80:
  
 .verticalSection.section0:before { .verticalSection.section0:before {
-    content: "Shut Down Monday \A for Maintenance";+    content: "first line \A second line.";
     white-space: pre-wrap;     white-space: pre-wrap;
     position: relative;     position: relative;
-    font-size: 150%;+font-family: 'Times New Roman', serif; 
 +    font-size: 200%;
     color: red;     color: red;
 +    text-align: center;
     justify-content: center;     justify-content: center;
     display: flex;     display: flex;
 +}
 +</code>
 +
 +
 +===== Annoucments v2 Blink =====
 +
 +<code>
 +/*--- Announcement text at top of home page ---*/
 +.verticalSection.section0:before {
 +    content: "Your text message";
 +    position: relative;
 +    white-space: pre-wrap;
 +    font-size: 200%;
 +    color: var(--theme-accent-text-color);
 +    justify-content: center;
 +    text-align: center;
 +    display: flex;
 +}
 +
 +.verticalSection.section0:before {
 +  animation: blinker 3s cubic-bezier(0, 1.12, 0.65, 0.94) infinite;
 +}
 +
 +@keyframes blinker {
 +  50% {
 +    opacity: 0;
 +  }
 } }
 </code> </code>