Jump to content

Raspbery Pi 3 Transcoding with OMX


DFWjih3rt7h

Recommended Posts

DFWjih3rt7h

HI, I wondered if anyone had any info on transcoding on the pi 3 (latest raspbian)? I was previously running Plex (not in Docker) which transcoded a 1080p h264 file to lower bandwidths fine in real time, i suspect 1 stream would have been the limit though. I love Emby and am very happy with the switch in general. I'm looking to use the OpenMAX OMX hardware transcoding and am running the armv7_neon Docker image. At the moment it's not able to transcode even 1 stream in real time, it's running at about 0.4x. I try turning the hardware decoding and encoding on but they get disabled again.

 

Does anyone have any advice? Do I need to run Emby without Docker? Do I need to provide a custom ffmpeg? I can't find any definitive info on how to get this working. Looking in the transcoding logs I can't see any info on omx in the ffmpeg config text so I guess this is the issue?

 

Apart from this issue Emby runs great on the pi3 and it's an ideal low-power Emby box for when you're mainly direct playing.

 

Any advice greatly appreciated.

 

Thanks

Edited by DFWjih3rt7h
Link to comment
Share on other sites

We're not currently providing omx in the ffmpeg build, but it's possible for the future. In the meantime there is vaapi that you can try. thanks.

Link to comment
Share on other sites

tdiguy

We're not currently providing omx in the ffmpeg build, but it's possible for the future. In the meantime there is vaapi that you can try. thanks.

No more user specified ffmpeg for the rpi builds?

Link to comment
Share on other sites

it's not in the ui. you could launch emby server with your own custom command line if you really want to.

Link to comment
Share on other sites

tdiguy

Ok that's good. So the options are to custom compile your own ffmpeg ( I had a post somewhere on here on the flags I used ) or to use vaapi. If you use mpeg2 you might want to buy the license from rpi to unlock hardware acceleration.

 

I found this here article which might be useful: https://github.com/legotheboss/YouTube-files/wiki/(RPi)-Compile-FFmpeg-with-the-OpenMAX-H.264-GPU-acceleration only thing i would say is that it would be up to you if you want to run the make install command that will install ffmpeg which isnt really needed unless you want to be able to just use ffmpeg by typing ffmpeg without a path.

 

So I guess to properly answer, at least in my opinion ( and i am no pro mind you ) you will probably benefit the most from making a custom compiled ffmpeg then launch emby with the custom command. Then of course go into emby and enable hardware transcoding for openmax.

If you use mpeg2 its also worthwhile to buy the licence from the raspbery pi org to unlock mpeg2 hardware acceleration.

 

Sent from my moto g(6) play using Tapatalk

Edited by tdiguy
Link to comment
Share on other sites

DFWjih3rt7h

Thanks all, I looked into vaapi and came to that conclusion, that it's not available on the raspberry pi. My next step was to look into building ffmpeg with mmal and OMX. The system ffmpeg looks to be built with support but it's a v3 not v4 version and not built statically which I think rules out using it? I tried building a docker image which copied it in overwriting the provided one but it didn't work. I couldn't find any static binaries suitable for arm with the right support. I then looked at building it but was having trouble getting it built so I stopped there for a bit. It's good to hear I'm on the right lines so I'll look at it again. Thanks for everyone's assistance.

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