Jump to content

Transcoding on the fly

I have an Emby server running on top of FreeBSD serving up movies and TV shows ripped from DVDs I've purchased. Recently my wife was watching a movie from our server via Google Chrome on her Macbook Pro, and I noticed that the CPU usage was really high. The server has dual Xeon 5680 CPUs. So it has 12 hyperthreaded cores. There were two ffmpeg processes using over 600% CPU each. I've never seen the CPU usage that high while streaming media. So I was wondering if it might have something to do with her using a Mac and the media format it was expecting to receive so that the server was having to do some serious transcoding work. I normally rip DVDs to H.265 480p in an mkv container format. But is it possible that another format would be easier to transcode from? In other words, is there a more optimal format to rip media to that will reduce the CPU work needed to transcode media on the fly that won't use huge amounts of disk space or cause the ripping/encoding process to take too long?

Link to comment
Share on other sites

Link to post
Share on other sites

h264 would be the most compatible format, and it's only about 5-10% less efficient than h265 in most cases.  Basically, for SD content (dvd), instead of 3-6 mbps for h265 (what I would use), I'd use 4-8 mbps for h264  ... most DVDs are mpeg2 8-12 mbps, if i remember correctly.

 

h265 is more optimized for HD and higher-than-HD resolutions, and gets most quality increase over h264 at those resolutions. For SD content, there is some quality increase when the bitrates are constrained, but little. So I'd suggest going with h264. 

For audio, I'd use AAC or Opus or just leaving it as original AC3 192-256 kbsp if stereo, 480-640 kbps AC3 can be repacked to 256-384 kbps Opus/AAC if disk space is a big concern. Few DVDs have uncompressed pcm or mpeg2 audio tracks, those i'd recompress to AAC or Opus. 

 

ps. if transcoding on the fly, the video card may have a hardware h264 encoder (or you could add a cheap nvidia card with hardware encoder) in which case the software could use that to encode to h264 fast and using minimal cpu, but with hardware encoders it's best to give them more bitrate to preserve quality... basically i'd use 6-10mbps for on-the-fly transcoding using hardware encoders... the phone should be able to keep up with downloading 10..12 mbps over the air. 

If you transcode the media and then serve it from the hard drives, ideally i'd use x264 with a very well made preset to encode once and then just stream the the video to viewers. 

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Mystical Kimchi said:

 I normally rip DVDs to H.265 480p in an mkv container format.

H.265 have higher compression rate, to decompress it you need a lot of horsepower, use H.264 instead which is the standard. Also use GPU accelerations to boost the encode-decoding.

 

Ryzen 5700g @ 4.4ghz all cores | Asrock B550M Steel Legend | 3060 | 2x 16gb Micron E 2666 @ 4200mhz cl16 | 500gb WD SN750 | 12 TB HDD | Deepcool Gammax 400 w/ 2 delta 4000rpm push pull | Antec Neo Eco Zen 500w

Link to comment
Share on other sites

Link to post
Share on other sites

Macs support h264 natively. Make sure she’s using QuickTime or another player like VLC.

 

Or the easier solution would be to map the drive to her laptop and just let her play it that way.

MacBook Pro 16 i9-9980HK - Radeon Pro 5500m 8GB - 32GB DDR4 - 2TB NVME

iPhone 12 Mini / Sony WH-1000XM4 / Bose Companion 20

Link to comment
Share on other sites

Link to post
Share on other sites

-> Moved to Programs, Apps and Websites

^^^^ That's my post ^^^^
<-- This is me --- That's your scrollbar -->
vvvv Who's there? vvvv

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×