Jump to content

Search the Community

Showing results for tags 'transcoding'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Announcements
    • Emby Premiere Purchase/Subscription Support
    • Feature Requests
    • Tutorials and Guides
  • Emby Server
    • General/Windows
    • Android Server
    • Asustor
    • FreeBSD
    • Linux
    • NetGear ReadyNAS
    • MacOS
    • QNAP
    • Synology
    • TerraMaster NAS
    • Thecus
    • Western Digital
    • DLNA
    • Live TV
  • Emby Apps
    • Amazon Alexa
    • Android
    • Android TV / Fire TV
    • Windows & Xbox
    • Apple iOS / macOS
    • Apple TV
    • Kodi
    • LG Smart TV
    • Linux & Raspberry Pi
    • Roku
    • Samsung Smart TV
    • Sony PlayStation
    • Web App
    • Windows Media Center
    • Plugins
  • Language-specific support
    • Arabic
    • Dutch
    • French
    • German
    • Italian
    • Portuguese
    • Russian
    • Spanish
    • Swedish
  • Community Contributions
    • Ember for Emby
    • Fan Art & Videos
    • Tools and Utilities
    • Web App CSS
  • Testing Area
    • WMC UI (Beta)
  • Other
    • Non-Emby General Discussion
    • Developer API
    • Hardware
    • Media Clubs

Blogs

  • Emby Blog

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

  1. It seems to me that as of right now, if I want to be on the safe size, I need to dedicate a hefty amount of space to my transcoding-temp directory for emby: I should have enough space available to store the full size of the source file for whatever show(s) are being watched at that moment, plus a small buffer. In other words, if there are three 4K remuxes playing at the same time, 80GB each, and they're all transcoding at once, then I need at least 240GB of transcoding space available. No idea what the requirement would be for live tv, I don't have that feature. I say this from observation when my Apple TVth gen is a client. It seems to be able to direct stream a Blu-ray or DVD rip except it doesn't like the mkv format. The resulting transcode file seems to roughly match the file size of the original movie. And then it's deleted when I stop watching the show. Also, it seems that if I run out of disk space, the whole movie (and sometimes the server) just stops with an out of disk space condition, there's no auto-pruning while the show is playing. Does this mean that transcoding to RAM is a bad idea unless I have tremendous amounts of RAM? So in other words, if I'm running in a virtual machine, I can't use the default folder with my piddly small storage dedicated to that VM. I need to specify something with more serious space capability. Did I get that right?
  2. I've run across (and posted once or twice in the Roku area about this) apparently "random" TV episodes that I have personally ripped and encoded from the blu-ray, where Emby cannot do a hardware transcode for playback when the PGS subtitle track is enabled. I've finally had time to do dig out the original blu-ray to validate whether there is some defect in my encoded version. I identified an episode that failed to xcode in HW and displays the following in the ffmpeg log: >>>>>> Subtitle Processing Steps for [0:2]: HDMV PGS subtitles Step Format Target Size HDMV_PGS_SUBTITLE >> Subs: Bitmap scale >> Video: UNKNOWN 1920x1080 ... 11:24:00.581 [matroska,webm @ 0xe35ac0] Could not find codec parameters for stream 2 (Subtitle: hdmv_pgs_subtitle (pgssub)): unspecified size Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options 11:24:00.581 Input #0, matroska,webm, from '/share/Video/TV/Archer (2009)/Season 02/Archer (2009) - S02E01 - Swiss Miss.mkv': 11:24:00.581 Metadata: 11:24:00.581 title : ARCHER SEASON 2 - DISC 1 11:24:00.581 creation_time : 2019-12-27T05:43:27.000000Z 11:24:00.581 ENCODER : Lavf58.20.100 11:24:00.581 Duration: 00:21:03.44, start: 0.000000, bitrate: 6649 kb/s 11:24:00.581 Stream #0:0: Video: hevc (Main), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], Level 120, 23.98 fps, 23.98 tbr, 1k tbn (default) 11:24:00.582 Metadata: 11:24:00.582 DURATION : 00:21:03.429000000 11:24:00.582 Stream #0:1(eng): Audio: dts (DTS-HD MA), 48000 Hz, 5.1(side), s32p (24 bit) (default) 11:24:00.582 Metadata: 11:24:00.582 title : Surround 11:24:00.582 DURATION : 00:21:03.435000000 11:24:00.582 Stream #0:2(eng): Subtitle: hdmv_pgs_subtitle 11:24:00.582 Metadata: 11:24:00.582 DURATION : 00:21:01.281000000 11:24:00.597 Stream mapping: 11:24:00.597 Stream #0:0 (hevc) -> overlay (graph 0) 11:24:00.597 Stream #0:2 (pgssub) -> scale:default (graph 0) 11:24:00.597 hwupload:default (graph 0) -> Stream #0:0 (h264_vaapi) 11:24:00.597 Stream #0:1 -> #0:1 (dts (dca) -> mp3 (libmp3lame)) 11:24:00.597 Press [q] to stop, [?] for help 11:24:00.944 subtitle_kickoff: call subtitle_resend_current 5057 frame->format: 1 11:24:00.945 subtitle input filter: decoding size 0x0 11:24:00.945 Auto-inserting subfeed filter 11:24:00.945 Auto-inserting graphicsub2video filter 11:24:00.969 Output #0, segment, to '/scratch/embytemp/transcoding-temp/DC840A/DC840A_%d.ts': 11:24:00.969 Metadata: 11:24:00.969 encoder : Lavf59.17.100 11:24:00.969 Stream #0:0: Video: h264 (High), vaapi(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 13299 kb/s, Level 40, 23.98 fps, 90k tbn 11:24:00.969 Metadata: 11:24:00.969 encoder : Lavc59.21.100 h264_vaapi 11:24:00.969 Stream #0:1(eng): Audio: mp3, 48000 Hz, stereo, fltp, 192 kb/s (default) 11:24:00.969 Metadata: 11:24:00.969 encoder : Lavc59.21.100 libmp3lame 11:24:00.980 elapsed=00:00:00.34 frame= 2 fps=0.0 q=-0.0 size=N/A time=00:00:01.79 bitrate=N/A throttle=off speed=5.17x 11:24:01.219 subtitle input filter: decoding size 1920x1080 11:24:01.219 Auto-inserting subfeed filter 11:24:01.219 Auto-inserting graphicsub2video filter 11:24:01.220 Impossible to convert between the formats supported by the filter 'hwupload@f4' and the filter 'auto_scale_0' 11:24:01.220 Error reinitializing filters! 11:24:01.220 Failed to inject frame into filter network: Function not implemented 11:24:01.220 Error while processing the decoded data for stream #0:2 11:24:01.222 [libmp3lame @ 0xe9b440] 3 frames left in the queue on closing 11:24:01.225 Conversion failed! Compared to an episode that xcodes in HW properly: >>>>>> Subtitle Processing Steps for [0:2]: HDMV PGS subtitles Step Format Target Size HDMV_PGS_SUBTITLE >> Subs: Bitmap 1920x1080 scale >> Video: UNKNOWN 1920x-2 ... 11:27:42.355 Input #0, matroska,webm, from '/share/Video/TV/Archer (2009)/Season 02/Archer (2009) - S02E03 - Blood Test.mkv': 11:27:42.355 Metadata: 11:27:42.355 title : ARCHER SEASON 2 - DISC 1 11:27:42.355 creation_time : 2019-12-27T06:09:10.000000Z 11:27:42.355 ENCODER : Lavf58.20.100 11:27:42.355 Duration: 00:21:16.58, start: 0.000000, bitrate: 4813 kb/s 11:27:42.356 Stream #0:0: Video: hevc (Main), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], Level 120, 23.98 fps, 23.98 tbr, 1k tbn (default) 11:27:42.356 Metadata: 11:27:42.356 DURATION : 00:21:16.567000000 11:27:42.356 Stream #0:1(eng): Audio: dts (DTS-HD MA), 48000 Hz, 5.1(side), s32p (24 bit) (default) 11:27:42.356 Metadata: 11:27:42.356 title : Surround 11:27:42.356 DURATION : 00:21:16.576000000 11:27:42.356 Stream #0:2(eng): Subtitle: hdmv_pgs_subtitle, 1920x1080, Start-Time 3.420s 11:27:42.356 Metadata: 11:27:42.356 DURATION : 00:21:14.544000000 11:27:42.375 Stream mapping: 11:27:42.375 Stream #0:0 (hevc) -> overlay (graph 0) 11:27:42.375 Stream #0:2 (pgssub) -> scale:default (graph 0) 11:27:42.375 hwupload:default (graph 0) -> Stream #0:0 (h264_vaapi) 11:27:42.375 Stream #0:1 -> #0:1 (dts (dca) -> mp3 (libmp3lame)) 11:27:42.375 Press [q] to stop, [?] for help 11:27:42.745 subtitle input filter: decoding size 1920x1080 11:27:42.745 Auto-inserting subfeed filter 11:27:42.745 Auto-inserting graphicsub2video filter 11:27:42.769 Output #0, segment, to '/scratch/embytemp/transcoding-temp/6CD0C8/6CD0C8_%d.ts': 11:27:42.769 Metadata: 11:27:42.769 encoder : Lavf59.17.100 11:27:42.769 Stream #0:0: Video: h264 (High), vaapi(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 9626 kb/s, Level 40, 23.98 fps, 90k tbn 11:27:42.769 Metadata: 11:27:42.769 encoder : Lavc59.21.100 h264_vaapi 11:27:42.769 Stream #0:1(eng): Audio: mp3, 48000 Hz, stereo, fltp, 192 kb/s (default) 11:27:42.769 Metadata: 11:27:42.769 encoder : Lavc59.21.100 libmp3lame 11:27:42.770 elapsed=00:00:00.36 frame= 1 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A throttle=off speed= 0x 11:27:43.198 [segment @ 0xda4780] Opening '/scratch/embytemp/transcoding-temp/6CD0C8/6CD0C8.m3u8.tmp' for writing Note that these two episodes were from the same disc and ripped/transcoded using identical commands, software versions, etc. via a batch script. So, how can the subtitle metadata for one have gotten corrupted/lost and not the other? It didn't. I re-ripped the failing episode using MakeMKV without any modifications and swapped it in place: >>>>>> Subtitle Processing Steps for [0:2]: HDMV PGS subtitles Step Format Target Size HDMV_PGS_SUBTITLE >> Subs: Bitmap scale >> Video: UNKNOWN 1920x1080 ... 11:39:46.983 [matroska,webm @ 0x7d9ac0] Could not find codec parameters for stream 2 (Subtitle: hdmv_pgs_subtitle (pgssub)): unspecified size Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options 11:39:47.017 Input #0, matroska,webm, from '/share/Video/TV/Archer (2009)/Season 02/s02e01.mkv': 11:39:47.017 Metadata: 11:39:47.017 title : ARCHER SEASON 2 - DISC 1 11:39:47.017 encoder : libmakemkv v1.17.2 (1.3.10/1.5.2) win(x64-release) 11:39:47.017 creation_time : 2022-11-12T16:31:22.000000Z 11:39:47.017 Duration: 00:21:03.43, start: 0.000000, bitrate: 28728 kb/s 11:39:47.017 Stream #0:0(eng): Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], Level 41, 23.98 fps, 23.98 tbr, 1k tbn 11:39:47.017 Metadata: 11:39:47.017 BPS-eng : 24403287 11:39:47.017 DURATION-eng : 00:21:03.428833333 11:39:47.017 NUMBER_OF_FRAMES-eng: 30292 11:39:47.017 NUMBER_OF_BYTES-eng: 3853974619 11:39:47.017 SOURCE_ID-eng : 001011 11:39:47.017 Stream #0:1(eng): Audio: dts (DTS-HD MA), 48000 Hz, 5.1(side), s32p (24 bit) (default) 11:39:47.017 Metadata: 11:39:47.017 title : Surround 5.1 11:39:47.017 BPS-eng : 4257095 11:39:47.017 DURATION-eng : 00:21:03.434666666 11:39:47.017 NUMBER_OF_FRAMES-eng: 118447 11:39:47.017 NUMBER_OF_BYTES-eng: 672319952 11:39:47.018 SOURCE_ID-eng : 001100 11:39:47.018 Stream #0:2(eng): Subtitle: hdmv_pgs_subtitle 11:39:47.018 Metadata: 11:39:47.018 BPS-eng : 65252 11:39:47.018 DURATION-eng : 00:20:56.234145833 11:39:47.018 NUMBER_OF_FRAMES-eng: 888 11:39:47.018 NUMBER_OF_BYTES-eng: 10246614 11:39:47.018 SOURCE_ID-eng : 001200 11:39:47.037 Stream mapping: 11:39:47.037 Stream #0:0 (h264) -> overlay (graph 0) 11:39:47.037 Stream #0:2 (pgssub) -> scale:default (graph 0) 11:39:47.037 hwupload:default (graph 0) -> Stream #0:0 (h264_vaapi) 11:39:47.037 Stream #0:1 -> #0:1 (dts (dca) -> mp3 (libmp3lame)) 11:39:47.038 Press [q] to stop, [?] for help 11:39:47.300 subtitle_kickoff: call subtitle_resend_current 5057 frame->format: 1 11:39:47.301 subtitle input filter: decoding size 0x0 11:39:47.301 Auto-inserting subfeed filter 11:39:47.301 Auto-inserting graphicsub2video filter 11:39:47.325 Output #0, segment, to '/scratch/embytemp/transcoding-temp/A6B9A8/A6B9A8_%d.ts': 11:39:47.325 Metadata: 11:39:47.325 encoder : Lavf59.17.100 11:39:47.325 Stream #0:0: Video: h264 (High), vaapi(progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 28728 kb/s, Level 41, 23.98 fps, 90k tbn 11:39:47.325 Metadata: 11:39:47.325 encoder : Lavc59.21.100 h264_vaapi 11:39:47.325 Stream #0:1(eng): Audio: mp3, 48000 Hz, stereo, fltp, 192 kb/s (default) 11:39:47.325 Metadata: 11:39:47.325 encoder : Lavc59.21.100 libmp3lame 11:39:47.340 elapsed=00:00:00.26 frame= 2 fps=0.0 q=-0.0 size=N/A time=00:00:02.03 bitrate=N/A throttle=off speed=7.74x 11:39:47.528 subtitle input filter: decoding size 1920x1080 11:39:47.528 Auto-inserting subfeed filter 11:39:47.528 Auto-inserting graphicsub2video filter 11:39:47.529 Impossible to convert between the formats supported by the filter 'hwupload@f4' and the filter 'auto_scale_0' 11:39:47.529 Error reinitializing filters! 11:39:47.529 Failed to inject frame into filter network: Function not implemented 11:39:47.529 Error while processing the decoded data for stream #0:2 11:39:47.534 [libmp3lame @ 0x8ff380] 3 frames left in the queue on closing 11:39:47.535 Conversion failed! So - the source itself has what is apparently incorrect and/or missing subtitle track metadata. I re-ripped the working example episode as well to confirm. Note that none of the tools I normally use (primarily MediaInfo, MKVToolNix) expose this information about the subtitle tracks as far as I can tell, so I'm not sure even how to identify a problematic file besides seeing if Emby pukes and falls back to SW. The original disc plays without issue, and the file I transcoded from the source rip will play with subs enabled in Kodi, VLC, and MPC-BE without a problem, and prior when I was on Plex it was able to transcode these w/subs without a problem. Is the source itself actually out-of-spec? Is this an ffmpeg issue, or an issue with the command used to locate/examine the subtitle track? I've run across incidences of this specific problem in a few different shows and movies I've personally ripped (Archer, Futurama, The Venture Bros, The Running Man, more). If this is an issue of specification/standards enforcement (i.e. "yeah it can work that way, but it's out of spec so we're failing it"), I'd ask that the issue be re-examined, as it's apparently a common enough thing in the available source media that I've tripped over it multiple times across multiple shows and movies in my relatively small library. ffmpeg logs and mediainfo reports for the files are attached. If there's further info I could gather in order to determine definitively what's going on and whether it's addressable I'm happy to do so. Thanks! archer_s02e01_br_source.html bad_subs_encoded_ffmpeg-transcode-c853a7c1-ca06-4c2f-8d8e-ac3e617f44bf_1.txt bad_subs_source_ffmpeg-transcode-90cd65e4-b7eb-496d-ac0b-6049aab86897_1.txt good_subs_encoded_ffmpeg-transcode-4f28ce54-3508-4a03-9415-f755f50d7514_1.txt
  3. Didn't think I would come a stir the pot in this thread again, but here we are. Is there a way to increase the saturation of a specific color during tone mapping? As you know Im using QSV to achieve this, and current best tone mapping is bt.2390, the results are very good, but it's currently only available in software. Hable is unfortunately crushing blacks to much to be usable. Reinhard and Mobius is performing quite well, but both suffer from desaturation to some degree, but mostly the reds. Is there a way to fix this with a search and replace in ffmpeg or something similar? Or is it possible to implement Aces algorithm? (Which I believe suffers from over saturation instead, but I think it's preferable.)
  4. Skyobliwind

    Harware + OS recommendations

    I'm planning to switch mit system from Truenas/Freenas to Proxmox (or do you have any arguments against proxmox and for a different virtualization?). Emby itself works okey on Truenas, except it doesn't support hardware passthrough for GPU trancoding. But the main reason to switch is virtualisation for my other machines which doesn't work too well on Truenas. Atm I'm using a AsRock X470D4U + Ryzen 3600 + LSI SAS 9207-8i SATA / SAS-Controller + 64 GB ECC Ram (ECC was needed for Truenas but I will just keep it). (Maybe I'll also switch the Ryzen 3600 for my Ryzen 3900x and cap energy at 60w which should work just fine.) What GPU would you recommend for smooth transcoding performance for multiple clients (possibly 6-10 parallel at peak). It shouldn't be too energy consuming, so a good mix of performance and efficiency would be nice. From what I saw Nvidia should be the better pick here? And what OS do you reccomend for the emby vm? Are there any advantages in using Windows over Linux? If not I think I'll go for Ubuntu Server.
  5. Newly installed Nvidia Quatro K2000 in a Dell R910 - hw transcoding I just installed a Quatro K2000 2G video card into my Dell R910 into a native16x PCI-e slot. I modified the heatsink and installed a large fan to help keep it cooler and make it fit into the server case. It's staying pretty cool. Now the reason I did this was for several reasons actually. Running on a VM is not always the best approach. Having hardware support should improve performance. I want 4K movies to not skip and stutter while watching them (transcoding - usually always audio) I recently bought an HD HomeRun and want better performance (similar to 4K issues). And this has been something I have been wanting to do for a while. I would rather do this than buy a Synology or QNAP or build a dedicated workstation. All that said... not much improved after installing the card. Maybe a slight improvement, but overall I am still not happy with the implementation. Video still stutters with 4K movies - unwatchable Live TV still stutters unless I pause it for 5 seconds, play again and then it's fine - I feel like this should still not happen. This used to not happen with my 4K movies even with transcoding enabled running on a VM in vCenter on the same server without a physical video card. I am not certain what happened 3-4 years back but before that point, 4K movies played perfectly. Too hard to try and understand what changed. All I want to do is understand how to fix this moving forward. I have several devices I can test this with: Web browsers Nvidia Shield Pro LG OLED TV LG LCD TV Android Phones iPhones iPad PC / MacBook All of them give me the same results. I can provide any details needed to narrow down where the issue is and if in the end this simply is not a good setup (running on a VM with passthrough) then I will buckle down and buy a Synology of QNAP or hell even build a dedicated media box out of some older hardware using the video cards I have here at home. (spare 1030 and 1080). Current specs: OS: Ubuntu 20.04.3 LTS CPU: 16 Memory: 32 GB Storage: SAS SSD Storage for Transcoding: SAS SSD Dedicated Audio/Video: Nvidia Quatro K2000 (2GB) hardware_detection-63769669756.txt ffmpeg-transcode-b53abc80-c465-4ef9-b1f9-3c82cd0a5a67_1.txt
  6. Hello , I have a windows Emby server which is supposed to provide the video content to ios and android users (80% ios and 20% android). ios user use Safari and android user use chrome to get access to server. The PC that I`m using has the Intel Core i7 8th Gen with 16DDR4 and NVME SDD and no GPU. My question is , what is the best Video format/codec to use to make the least transcoding and smooth play for both Safari and chrome users. I already tried MKV/MP4 with H264 and AAC 5.1-AC3 audio codec. AAC is not working well with chrome and I had to convert it to AC3 and video pause randomly. I would like to get your opinion to setup my Emby server and prepare my video content to make them easy for server. Thank you.
  7. aVoiceInTheWilderness

    Hardware acceleration

    Does emby support HW acceleration on RPI or Orange Pi or any ARM? Even though I have set up acceleration in the transcoding section, nothing uses HW acceleration. It always uses SW transcoding both decoding and encoding.
  8. Is there a way to change the threshold for when to throttle transcoding when throttling is enabled? By default it looks like this is configured to 120s. I have found the xml where this setting is defined, however after modifying & saving there is no change according to transcoding logs. FYI, this is not an option from Emby management interface. Location of xml file: .../Emby-Server/Config/encoding.xml <ThrottleBufferSize>120</ThrottleBufferSize> Log Example ThrottleBySegmentRequest: RequestPosition: 00:01:03 - TranscodingPosition: 00:02:11 - ThrottleBuffer: 69s (Treshold: 120s) Please let me know if anyone can help determine if this is possible. Thanks
  9. Newbie here, running away from Plex. Am loving Emby. I'm trying to find information and settings for transcoding. The closest I have found is here but I do not see the illustrated setting (see below) in my iOS app. Am I correct in assuming that my lossless files will be lossless in the iOS app if both the server and iPhone are on the same local wireless network? If I am on a different wireless network will it be lossless or does the server see it as a generic remote location? Where, on the server and/or iOS app, can I set preferred bitrates? IOW, I would like to possibly have higher (not necessarily lossless) bitrates even on cellular/data. My apologies if I am missing something! I've been dealing with a super mild concussion, and looking into this so much, I wonder if I am literally or figuratively cross-eyed. @cayars
  10. Some old devices support h265. So the device do direct play But it's lagging. It plays h264 well. If I want to transcode h.265 to 264, I have to decrease the quality lower than the original quality. But I don't want to lower the quality. If original bitrate is 3.4mbps, I set the quality to 3mbps. There is no difference between the two. But when original is 1.4mbps, I have to lower to 1mbps and this is huge difference as I felt. So I want the feature. Forced h.265 to h.264 transcoding without decreasing bitrate
  11. Before I start, I'll explain what I mean by "without giving any reason why" usually when it starts to transcode, it would give a reason why like this (check the blue circling) Note:- I've forcefully made this video to transcode in the above picture by reducing the bitrate so that is not a bug but in this case, it doesn't this could be a bug so I'm just reporting that Now, I have no clue as to why this video transcodes while other videos with the same format doesn't. It's definitely not the subtitles or the audio because I've reencoded the video to HEVC and the audio and subtitle plays directly. Here's the logs ffmpeg-transcode-f5e334ff-98b7-4cd7-85d5-aeab259c3705_1.txt Here's the media info mediainfo.txt And here's the sample video Flowers of Evil - S01E01 - Flowers of Evil 1 of 13 (1)-001.mkv Ran with galaxy s10 on Emby android 3.1.94
  12. sharrisct25@hotmail.com

    Need Transcoding help

    So I have recently added a HDhomerun EXTEND to my Emby system. The goal is to allow people to watch a few local stations in Emby that we do not get on other steaming services. All of my TVs are Roku clients of different types. Some hardwired some Wifi. I use my Android client on my phone on occasion also. I have 2 HDhomerun EXTEND units connected and my goal is to be able to support 4 users watching / recording at the same time without any major load on my Emby server. The Server is virtualized running as a Windows 10 system in VMware 6.5. It has 4 cores and 10GB or RAM. All the storage is local SSD on a RAID 5 array. The server is Emby Premier version 4.4.2.0 and the Roku clients are using Emby beta. Historically software transcoding has been fine for the movies and other videos I have in my library but with TV I knew the use would spike and more transcoding maybe needed. This lead me to buy the HDhomerun Extend versions due to their capability to decode. Once setup I had a few issues with specific channels that I have learned are down to reception thanks to posts and help in other Emby forums. Then I was still seeing ffmpeg activity going on, sometimes as a directstream where the audio was being converted, others full transcoding. With more help from the Forum I purchased and installed a NVIDIA GTX 1030 card to do hardware decoding. The problem is I am still seeing ffmpeg activity for the Roku clients. I now DO NOT see it for the Android but definitely for the Roku clients. Can somebody help me sort what is going on here? Shouldn't the decoding all be happening in hardware now between the HDhomerun EXTEND and the NVIDIA card? I see that the Processing Plan in the ffmpeg log still says False for all CanDoInHardware lines does that mean the card is not working correctly? I have attached logs for more details. hardware_detection-63724218955.txt ffmpeg-directstream-0194bed2-a9ad-4aac-b654-03b1a909ac4e_1.txt embyserver.txt
  13. embyserver.txt ffmpeg-transcode-058599f6-a2e7-4ca3-8dd7-ad84cecaffe8_1.txt hardware_detection-63752995865.txt
  14. francoisp

    Save transcoded videos

    Is there a way to transcode a video once and save it for future streaming instead of using the server's resources to transcode it every single time it is requested?
  15. I always had my server's services such as Emby running in bare-metal because I did't like the performance loss in VM/Hypervisor, etc (I know it's little, but it's something). But it's true that having all services in the same OS is a pain in the a** because if you need to change or reboot something, everything goes down. In addition I need VAAPI transcoding for my server so I needed direct access to iGPU through /dev/dri/renderD128 device. After reading a lot about LXC containers and the benefits of isolation and bare-metal peformance they have, I decided to change and go containerize everything. So installed Debian Strech in the server with LXC 2.0.8 (only available in testing repositories) and created an Ubuntu 16.04 container just for the Emby server. In order to get VAAPI working inside the Emby container, you need to "pass" the required device (/dev/dri/renderD128) from the host to the container and have all drivers installed in the host system. So let's do it. (I assume you already created a container and Emby and ffmpeg are installed in it) (All commands are ran in the host, not inside the container) Stop your container if it's running: lxc-stop -n containername Get the required drivers in the host (my server is a Skylake i5-6600) by installing vainfo (it will automatically install intel-i915-driver, etc.): apt install vainfo Check that vainfo outputs something like this (run vainfo in the command line): error: can't connect to X server! libva info: VA-API version 0.40.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_40 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.40 (libva ) vainfo: Driver version: Intel i965 driver for Intel(R) Skylake - 1.8.3 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Simple : VAEntrypointEncSlice VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264Main : VAEntrypointEncSliceLP VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileH264High : VAEntrypointEncSliceLP VAProfileH264MultiviewHigh : VAEntrypointVLD VAProfileH264MultiviewHigh : VAEntrypointEncSlice VAProfileH264StereoHigh : VAEntrypointVLD VAProfileH264StereoHigh : VAEntrypointEncSlice VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc VAProfileJPEGBaseline : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointEncPicture VAProfileVP8Version0_3 : VAEntrypointVLD VAProfileVP8Version0_3 : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointEncSlice Now we have to pass the /dev/dri/renderD128 device (which is in charge of VAAPI transcoding) to the container. To do so, we'll write a little script who creates the renderD128 device inside the container everytime this one is started. For that we need to know what kind of device we have and it's minor/major numers, so we run: ls -l /dev/dri Output: total 0 drwxr-xr-x 2 root root 80 ago 5 17:18 by-path crw-rw---- 1 root video 226, 0 ago 5 17:18 card0 crw-rw---- 1 root video 226, 128 ago 5 17:18 renderD128 The info we need is: the letter "c" (in crw-rw----) meaning it's a character device and "226 128" which are the major/minor numbers of the device. Let's create the script then, it will be inside your container's directory but you can place it anywhere changing the paths obviously. Run: nano /var/lib/lxc/containername/autodev And copy inside: #!/bin/bash cd ${LXC_ROOTFS_MOUNT}/dev mkdir dri mknod -m 0666 dri/renderD128 c 226 128 Save, exit and give it privileges with: chmod +x /var/lib/lxc/containername/autodev Perfect, now we have to grant container's access to the device and tell him to run the script when the container starts. To do so, you have to edit the container's configuration file. Run: nano /var/lib/lxc/containername/config And add these two lines at the en of the file: lxc.cgroup.devices.allow = c 226:128 rwm lxc.hook.autodev = /var/lib/lxc/containername/autodev The first line will grant container's access to the device and the second line will run the script which will create the device inside the container. That's all! Now you you can start your container again, attach to it, check the /dev/dri directory and you'll find the renderD128 device inside of it. You can now tell Emby to use it as if you where in a host machine! Enjoy LXC! Referece: https://blog.cavebeat.org/2016/02/how-to-create-tuntap-devices-for-lxc-in-proxmoxve-4-1/
  16. Hi emby Team, I testet as lot and want to describe a problem in detail that really keeps me away from using the emby app of my LG65OLED C7D. I already know that the emby app encodes all audio tracks that are not the first/default audiotrack of a mkv. But... emby also encodes the first/default audiotrack if this is Dolby TrueHD/Atmos. Why? and that leads to the/my problem: everytime the emby app starts a ffmpeg process to transcode a audio track (for the none default audio track or and thats a much bigger problem... for Dolby TrueHD Tracks) the video begins to stutter... plays for a few seconds than stocks for a few seconds and so on - til the end of the movie :-( ) because many of the 4K remuxes have a Dolby TrueHD/Atmos default track, they are unwatchable via the emby app. 1. the problem is reproducable everytime 2. the problem only exists with 4K material (UHD Remuxes) 3. it's not a problem of hardware limitation of the emby server (CPU is 70% idle, gigabit LAN, HDD...) 4. it doesn't matter what kind of audio is being encoded (Atmos, DTS, DD5.1, DTSMA, DTSHD...) 5. emby dlna plays fine those files because it's playing the files without encoding the audio summarized: audio encoding on 4k remuxes in any way leads to video stuttering! possible solutions: - stop encoding audio tracks other than the default (like DLNA does) or - make TrueHD tracks playable without transcoding (direct play/passthrough) or - fix the problem that causes the video stuttering when transcoding audio in 4K movies any questions? don't hesitate to contact me ;-)
  17. I have quite a lot of shows that have ASS Subtitles in them. But the problem is that when I enable them my server immediately jumps to transcoding. Which sacrifice quite a lot of video quality. I have noticed that It does not do that in the mobile version.
  18. I've been waiting for this feature for a while now. I'm hopeful that it will improve video quality. and a setting for audio encoding preference would be very nice as well
  19. Hi, I'm confused and trying to understand how the bitrate chosen when downloading a video affects the resolution that the video is played at. Or even, said in another way, if I know I only want to play a downloaded video at a given resolution (ex: SD 480), how do I know which bitrate to choose? If my source videos are anywhere from 720P - 4k, how do I minimize the downloaded file? Theoretically, bitrate should impact/affect resolution, but I have read other posts in the forum which seem to indicate a different story. Is there a correlation between bitrate and resolution? Thanks, Eric
  20. Hi Guys, Just looking for a little assistance if possible. Just want to see if anyone is using the above (title) setup and if transcoding works fine. It will probably be for a max transcode of two streams at once and the rest will be direct play. Most transcodes will be 1080p but in the future maybe 1 x 4k transcode at any given time - all over local lan. I've been told it will work but always nice to ask the community for real world usage and potential issues.
  21. Hi All, I have mostly made posts moaning about how stuff doesn't work right/the way I want to, but I'm going to give back to the community today! For the TL;DR skip down a few paragraphs, just me venting my woes I go into how I got hardware acceleration to work when it wasn't and everything said it should have been on an Ubuntu LXC container I originally built a FreeNAS machine, on which I planned to store loads of stuff including media, and saw that it had media player plugins. I didn't think too much of it at the time (except I didn't want to use Plex because my experience with it showed that it wasted resources/was the 'dummy' version) so I specced out my server and I built it. I chose a Sky Lake/Kaby Lake cpu for a number of reasons, but one of them was the iGPU. I tried using an Emby plugin but that didn't work (now know it's a whole .NET issue with FreeBSD) and then tried a Docker container of Emby - worked fine, but no hardware acceleration. I wasn't sure why, but I knew I needed more power in the server for the transcoding and other stuff I was using it for so I got a Kaby Lake Xeon cpu, making sure to get one with an iGPU, and kept on plugging away. To cut to the chase: - found out I needed to pass /dev/dri to docker - found out I needed VAAPI to get use of the gpu, but FreeNAS did not support it so it would need to be in a VM and FreeNAS was going through lots of changes - looked around for a few other operating systems that could be used for my purposes, tried OMV - it didn't like ZFS - landed on Proxmox, perfect for my needs - can spin up debian/ubuntu LXC containers easy peasy while passing through whatever I want from the root OS & can make VMs for other OS'/things I want more secure - found out that my motherboard had the C232 chipset & I needed the C236 chipset to use the iGPU - Finally bought the right motherboard Honestly, you would think I had done absolutely no research! But a lot of this was new to me and I didn't realize what I would be using the machine for (didn't know how much use I could get out of Emby per se - I already had an HDHomeRun and Apple TVs...). So I swapped in the right motherboard (plus I got some more SATA ports - gonna be cloning my zpool later to a much larger one w/ more redundancy since I'm using the machine for work too now) and went about making sure that dev/dri and fb0 were passed through to the Emby LXC container. *****Skip to Here***** At this point I double checked that everything was being passed through to the container (eg lspci) & went through the Emby documentation (they state that it Emby should have all the drivers that it needs built in, e.g. their own FFmpeg build). However, when I would play a file that was a direct feed it played fine, but when I tried playing a 4K HVEC or 9/10Bit/VP9/VP10 whatever they actually decided to call that, the video would just load and never start. I went into the console and VAAPI was indeed installed and showed that it was able to decode/encode the appropriate files for my cpu. Checked the log - it looked like FFmpeg was doing it's thing and transcoding the file writing stuff to the temp folder and including a transcoding rate (e.g. at one point it said it was transcoding at 66.6 x frames ). I was about to post on the forum, but I really really really have been wanting to get this working. So I looked around and I found the following site, or rather series of files from the VAAPI sites: https://github.com/intel/media-driver The genesis before that link was basically that VA API needed some extra libraries/intel media SDK to operate depending on the OS/CPU. So that link is for an addition driver that has links to two other libraries that are needed first (libva & GmmLib) along with their dependencies/reqs to build them. Follow the links and cit clone those libraries over to a build directory, make them and install them. For less experienced people the GmmLib instructions are less clear: after git clone GmmLib, make a build directory for cmake & change into it you issue the cmake command with '-DCMAKE_BUILD_TYPE=Release', the site just shows you the possible options. I left out the -DARCH=64 bit because from what I saw on the internet others didn't use it, but you DO need to reference a cmake build file for the command. That is in the root folder of the build folder you made. so either add '..' at the end or '/wherever you git cloned to/gmmlib' to the end of the cmake command and it will run. Then you do the make -j8 command followed by the make install command. Once those two guys are added I git cloned the media-driver bit in, followed the instructions, restarted the container and honestly didn't expect anything to have changed. But hardware transcoding started working like a charm! I do NOT know if it was a combination of those libraries, if it was a dependency of libraries (or maybe just me having to reset the BMC a bunch of times b/c my fan control script was acting up, but I highly doubt that's what it was) but after the above everything worked. As a final note, I don't think this is a shortcoming of the Emby team. As far as I can tell people are using hardware transcoding via the VAAPI files Emby installs just fine. Maybe it had to do with the specifics of my case - Emby running in an LXC container, the LXC container running inside of Proxmox, the fact that because I have IPMI the BMC has it's own video device that are seen in the OS'. I'm just happy I got it to work (maybe can help the Emby team do some investigating) & hope this can help others save some time. Cheers!
  22. Hi, I have just switch to Emby and was wondering what are some good settings for Transcoding and Network? I'm using iMac to stream over wifi to LG TV. Thanks
  23. Hopefully it hasn't been asked, can't find anything in the docs Basically, I'm at home, I'm playing an episode on my Xbox and it shows as transcoding to h264 format. Does the transcoded file get saved in a cache on the Xbox so my server doesn't have to transcode it again or is it cached on the server or it has to transcode all over again every time my Xbox plays that same episode?
  24. adam1010

    Audio boost when dowmixing

    I'm trying to get louder volume on my Android mobile devices. I have set the server's Transcoding setting of "Audio boost when downmixing" to its maximum setting of 3, however, the volume doesn't appear to increase much. I have verified that the video is being transcoded (downmixed) and not using Direct Play. I'd almost say there isn't any distinguishable difference when I switch on and off the transcoding on my Android device (I'm using Ubuntu for the server). I'm assuming you're taking my value of "3" and normalizing it to something and plugging it into ffmpeg like so: ffmpeg -i in.mp4 -af "volume=1.5" out.mp4 This example represents a 50% audio boost. 1) What does level 3 correspond to percentage-wise, and is there a reason it's been capped at 3? 2) Is there any kind of debug information I can look at to verify that the audio amplification flag is being set in ffmpeg?
  25. Hi! I cannot seem to play a certain tv show on my server. I think its a transcoding problem. Any help is appreciated. Log files attached. All other tv shows and movies work perfectly! The Tv show is 1080p BluRay x265 HEVC 10bit AAC 5.1 ffmpeg-transcode-e53a9975-ecf4-43ab-ae1c-f55630df878f_1.txt
×
×
  • Create New...