INTERACT FORUM
More => Old Versions => JRiver Media Center 20 for Linux => Topic started by: JimH on August 20, 2014, 09:23:36 am
-
As you may know, Hendrik has been working on building a video engine for Linux and Mac. It has meant replacing all of DirectShow and a lot of other things. To his credit, it's coming to life. I'll use his e-mail to the dev team to let him explain.
It will still be at least a few weeks before anything useful appears, but it seems that we're well on the road to a successful outcome.
Thanks, Hendrik!
[whew]
On 18.08.2014 13:31, Hendrik Leppkes wrote:
Hey guys,
I figured I would send an update on how video for linux/mac is going, and since I broke a bit of a milestone today, it seems like a good time.
As a starting remark, I'm still doing all development on Windows, because its easier for me, however all code I write is independent of any Windows-specific functions.
It uses ffmpeg directly, as well as OpenGL for video rendering, so its just a matter of a few hours to get it to work on Linux, and Mac.
I'll probably do the porting to Linux soon, and we'll see about Mac after that.
All the core ffmpeg handling is in place, both decoding video and audio, and delivering it to other components that process it.
My first step, already back in Minneapolis, was to support import of video files, and make audio-only playback work, and that is nearly complete already. That means you can play either audio files through the video engine, or play video files as audio-only (ie. for extracting audio).
Next step was video decoding.
For this we needed a OpenGL video renderer. The development of this is getting a long nicely. Today it can receive an image from the decoder, and render it on the screen, fully integrated into the Display View, obeying window movements, size changes, aspect ratio, detached display view, etc.
What it cannot do yet is display the video at proper speed - right now it displays one frame every screen refresh, or as fast as it can.
While that seems like a rather limited function, it was a great milestone to get it to actually upload the video images and present them to the user.
The next part for me, and the task for this week: Developing a reference clock that controls video presentation and controls audio/video sync.
If thats going a long nicely, I can hook up audio playback and hopefully have audio/video in sync, and a basic functional video player.
There is of course a loooong list of video features which don't work yet, like, subtitles, OSD, image controls (size, position, ...) and many many many more.
- Hendrik
On Wed, Aug 20, 2014 at 8:33 AM, Hendrik Leppkes <hendrik@JRiver.com> wrote:
Hey,
and as an additional update, I can now play video and audio in normal speed and it seems to stay in sync too.
Plenty of work yet to be done, the majority of features are not available, but one question I asked myself -
What state do we want to reach before we think about integrating in main MC20?
For me, next up is a bit of work on audio and video rendering in video playback still, and after that I'll get it to work on Linux (probably next week).
Mac will have to wait until I'm back at my own apartment in 2-3 weeks, and can setup a Hackintosh system for development (unless someone knows how OpenGL on a Mac works and wants to chime in?)
After that is done, I'll look into making transcoding work, that should be pretty simple to complete, and after that there is hundreds of video features to re-implement.
- Hendrik
Also, its more than just a video renderer, its a whole playback engine/chain. The video renderer is part of it, but includes much more. Parsing files, decoding video/audio, all that had to be re-created since it used DirectShow before. The only part thats really being re-used is dealing with the decoded audio, since that just goes into the MC audio engine, which of course remains the same.
-
Oh wow, that's a LOT quicker than I thought it'd be. Do you think with the OpenGL video renderer that could be used to get Noire Glass working on Mac/Linux?
-
This is for video only, there are no plans to do anything else with it.
-
I couldn't miss seeing nevcairiel in your signature...
Is that really you???
If yes, I can see what's coming on the horizon... wow... ;D
-
I couldn't miss seeing nevcairiel in your signature...
Is that really you???
If yes, I can see what's coming on the horizon... wow... ;D
Onion Reveals Nevcairiel Identity (http://yabb.jriver.com/interact/index.php?topic=83481.0)
-
You guys are awesome!
The way that reads, am I correct in saying that moving fwd, MC will use ffmpeg / opengl across all platforms?
In terms of when it gets implemented, I'm sure the Linux / Mac users would be happy with basic playback functionality, maybe not so much Windows users used to all the bells and whistles.
Given prevalence of Linux servers, perhaps transcoding / serving would be a good milestone to implement at?
-
The way that reads, am I correct in saying that moving fwd, MC will use ffmpeg / opengl across all platforms?
Windows will of course keep the Red October playback engine. I'm not sure yet if its worth offering the OpenGL engine as an alternative on Windows. Maybe for testing.
Both Mac and Linux will use the same FFmpeg/OpenGL engine though.
-
Massive news. Great to hear about such positive progress.
I've got a plan to put a Linux iron in the fire. This prospect is a big bonus in advance. Early days but a great sign of things to come.
-
Wow! Nice work Hendrik!
-
Great news much quick than I expected.
A question was asked at what stage to integrate this into MC20. As soon as possible please..
If it has a theater view with IR support, tag videos add cover art etc. I would be ready to go.
-
For now its only video playback, Theater View is another topic entirely for later.
-
For now its only video playback, Theater View is another topic entirely for later.
Thanks... I understand still great news and much quicker than expected.
If it does video would it work with the gizmo app straight away as a means to control/select a movie to play?
So far I am running a trial version with Audio and gizmo and it works well.
Just really hanging out for JRiver with video playback.
-
We hope to have a Linux build with video this week. It hasn't been thoroughly tested and it's still not finished, but it works.
-
We hope to have a Linux build with video this week. It hasn't been thoroughly tested and it's still not finished, but it works.
Awesome!
-
That is cool!
-
I am very pleased to hear that the Id will be running video.
Will it play video at the highest resolutions using MADVR?
Could I use this instead of a NUC for my theatre?
Thanks
Dave
-
Bob has it running on the Id now, but it's dropping frames. He hopes to get hardware acceleration working, but it's not clear yet where we'll end up. We may know more in a few days.
When it works, it could replace an HTPC.
-
Will it play video at the highest resolutions using MADVR?
madVR only works on Windows.
-
HI there,
"When it works, it could replace an HTPC."
I am very excited about this. Will the quality be as high as that of a high end video card in an HTPC using madvr?
-
Awesome Donkey is correct. We would have to write a replacement. It won't happen anytime soon.
-
I just installed the latest version on my laptop (Running Xubuntu) and it works well. I connected Gizmo so i can control it and play video.
Effortless and fast Gizmo works well. Cover art etc.
I than tried it on my dedicated server - Xubuntu same installation but it had a previous version of medicenter 19
When I run it it runs for a few seconds and as soon as I click on settings or anything it bombs out?
I uninstalled mediacenter19 and mediacenter20 and reinstalled but now my trial has expired.
So I will try reinstall the OS and give it all another go.
If it works on my laptop it should work on my server.