How do you build XBMC to support only certain codecs
#1
I'm a developer and I've been given the task of creating a version of XMBC that only support "approved" codecs as we want to include XBMC as an application installed on our system.


From the video standpoint I need it to support the following

Video/Audio Codecs & Containers (8 Total):
H.264/MPEG-4/AVC
H.222/H.262/MPEG-2
AVI
QuickTime File Format
ProRes 422
Matroska (.MKV, .MKA, .MKS & .MK3D) Open Source.
Theora (Simply known as Theora) Open Source.
Xvid (Xvid). Open Source.

Is this configured in the building of ffmpeg or is there a configuration file, script that I'm missing?
Reply
#2
I am moving this thread to the Development forum.

Can you confirm the OS you are working with is Windows, maybe a stupid question seeing as you've posted in the Windows forum but for anyone to assist I suspect you'll need to be explict about the type of environment XBMC will be running on, so if indeed Windows what release is it?
Reply
#3
All of support comes from ffmpeg perhaps you can tell ffmpeg what to do via configure line. So this likely a ffmpeg question perhaps answered somewhere http://ffmpeg.org/trac/ffmpeg/wiki/CompilationGuide and https://github.com/xbmc/xbmc/blob/master.../configure

uNi
Reply
#4
Thanks. I'm looking that over. They want to build it in Windows, however I want to build it in Ubuntu only.
Reply
#5
(2013-05-14, 19:36)dkardell Wrote: Thanks. I'm looking that over. They want to build it in Windows, however I want to build it in Ubuntu only.

Same work despite platform. You will probably have to customize $xbmc-src/configure that calls $xbmc-src/lib/ffmpeg/configure.
1. XBMC: http://github.com/FlyingRat/xbmc (ffmpeg-head-inc-xbmc-patches)
2. FFmpeg: http://github.com/FlyingRat/FFmpeg (ffmpeg-head-with-xbmc-custom-patches)
3. XBMC-updated-FFmpeg-binaries (just dev snapshots, no regular distros)
Reply
#6
Great, so I can go into the lib folder of ffmpeg on ubuntu, compile with the options for only the codecs that I want with ./configure, then do a make install and have it build ffmpeg that will work on windows as well?

Forgive me I am a developer of over 30 years and just trying to become knowledgeable in what has been built in XBMC. After creating the ffmpeg with make install, what is the workflow in creating the windows install. Do I have to move "ffmpeg" over to a windows build and run Buildsetup.bat on the windows box?

Thanks.. (I'm close to not having to what might be dumb questions here)

Dan
Reply
#7
>
> Great, so I can go into the lib folder of ffmpeg on ubuntu, compile with the options for only the codecs that I want
> with ./configure, then do a make install and have it build ffmpeg that will work on windows as well?

More or less but some config flags are platform specific (hw acc like dxva, vdpau, ...). I would suggest you start with a platform that is familiar to you in regards of developer tools (debuggers, etc)

Suggested workflow for the first "exprimental build" (platform A)
1. Build a standard version of xbmc and testdrive.
2. Reconfig ffmpeg with you own configure flags, rebuild ffmpeg (make) and then relink xbmc. Hint: check first line in ffmpeg/config.log for config flags that was used by the xbmc build process.
3. When you are satisfied, add your customized flags to $src/configure (xbmc main config script)

> Forgive me I am a developer of over 30 years and just trying to become knowledgeable in what has been built in XBMC.
> After creating the ffmpeg with make install, what is the workflow in creating the windows install. Do I have to move "ffmpeg"
> over to a windows build and run Buildsetup.bat on the windows box?

Well, i would suggest you create your own git branch (github) to manage your customization that will also facilitate future xbmc upgrades.

Workflow, platform A
1. create github account (or setup your own git server)
2. git create xbmc fork
3. git clone own fork to local host
4. git create own branch
5. make changes (from above)
6. test, test, test, test, test...
7. git commit changes
8. goto 5
9. git push changed branch back to server

Workflow, platform B
1. git clone own fork (and branch) to local host
2. make hardware/platform specific changes
3. test, test, test, test, test...
4. git commit changes
5. goto 2
6. git push changed branch back to server
1. XBMC: http://github.com/FlyingRat/xbmc (ffmpeg-head-inc-xbmc-patches)
2. FFmpeg: http://github.com/FlyingRat/FFmpeg (ffmpeg-head-with-xbmc-custom-patches)
3. XBMC-updated-FFmpeg-binaries (just dev snapshots, no regular distros)
Reply

Logout Mark Read Team Forum Stats Members Help
How do you build XBMC to support only certain codecs0