Jump to content

Streaming Mechanism


Recommended Posts

Posted

I'm curious about how to hook into MB's mechanism for mobile streaming. Specifically how I can use QSTranscode (or make its codebase useful in MB) to use QuickSync for mobile streaming instead of the CPU.

 

Thanks

Posted

Tikuf is the best person to talk to here, he's our resident encoding expert.

 

Some consideration off the top of my head though - we are looking to port the server to mono so that it can run under linux. so is there a linux build of QStranscode with an identical api, and if not, then how would that work.

 

Then, we have quite a few output combinations, so will they be possible - for example, we encode to Webm for chrome, mp4 for other devices (using h264), and others use apple's HLS protocol (h264-based). So how would that work.

Posted

Intel recently released the MSDK for Linux, so it is possible to port. Is the integration b/w FFmpeg and MB3 at the API level or do you spawn a process? If it's the later, it should be possible to just support multiple options even if it's hacked in by the user.

 

QSTranscode uses FFmpeg for encoding audio and muxing the A/V streams so anything FFmpeg supports should work.

Posted

TBH I have not even looked at it.

Posted

I found it. it executes ffmpeg.exe to manage the streaming.

Posted

Hey Babgvant, you appear to be the dvrmstoolbox guy correct? I used your product for a long time and I'm excited you're in the mb3 community.

  • Like 1
Posted

Hey Babgvant, you appear to be the dvrmstoolbox guy correct? I used your product for a long time and I'm excited you're in the mb3 community.

 

Guilty :). Thanks

  • 4 weeks later...
Posted

I'm curious as to whether any further work has been done on getting QuickSync-based transcoding working?  I've been trying out the streaming features and have occasionally been hitting a wall with the CPU-based transcoding.

Posted

I haven't had a chance to test it out, but the latest rev of QSTranscode might work. I added a "ffmpeg.exe" that will convert the cmdline args that mediabrowser uses into qstranscode args and execute it. You should be able to drop the whole thing in the place where MB expects ffmpeg to be and see if it works.

  • 3 months later...
Posted

we're doing everything we can to make streaming as efficient as possible.

babgvant
Posted (edited)

Any updates to this? 

 Have you tried dropping QSTranscode (and its fake ffmpeg.exe) in the ffmpeg location?

Edited by babgvant
Posted

does the fake version support everything, such as outputting to an HLS playlist with segments, and also image extraction?

babgvant
Posted

does the fake version support everything, such as outputting to an HLS playlist with segments, and also image extraction?

I'm not sure. QSTranscode uses ffmpeg internally for demux/mux and audio so many of its features are supported "for free".

 

Image extraction is not. I'd have to add that.

Posted

well nonetheless it would be safer for us to use only when needed, so i wouldn't want to call it for image extraction.

Posted

 Have you tried dropping QSTranscode (and its fake ffmpeg.exe) in the ffmpeg location?

 

Yeah, tried unzipping all the contents in the ffmpeg folder, it broke transcoding :(

 

 

we're doing everything we can to make streaming as efficient as possible.

 

I know I've seen improvements, I'm just looking for more options. And having the gpu offload transcoding task sounds nice. 

babgvant
Posted

Yeah, tried unzipping all the contents in the ffmpeg folder, it broke transcoding :(

 

I must have gotten distracted before I finished :). Couldn't remember where I left it. Will try to take a look this week.

babgvant
Posted

well nonetheless it would be safer for us to use only when needed, so i wouldn't want to call it for image extraction.

What arguments do you use to do extraction?

 

Would it be possible add support for QSTranscode directly?

Posted

adding direct support would be cleaner, yes. because even if you add support for everything we do as a direct replacement, it does not make sense for us to use it when it's not needed, just from the standpoint of maintenance, debugging, introducing additional point of failure, etc.

Posted

I must have gotten distracted before I finished :). Couldn't remember where I left it. Will try to take a look this week.

 

Sorry, an error on my part, I though my Sandy Bridge Xeon CPU had quicksync support, but it seems it's doesn't.

babgvant
Posted

Hmm... looks like it's using webm w/ vorbis and VP8/9 for encoding so it won't work.

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
×
×
  • Create New...