"Encoders Team" Lets add support for more encoding formats for XBMC Audio-CD ripping?
#1
Lightbulb 
This thread is here to see if we can get together a group of folks interested in getting as many output formats supported for CD ripping as we can. Anything and everything XBMC is capable of doing. (i can't remember if it uses FFMPEG for the encoders or not)

We need folks who are willing to hack on the source code, use GIT, test and debug.

Now, I know the "source code" thing can sound daunting but if you actually grab the code and see how it's put together it doesn't actually look too bad. Pretty human-readable.

If you look at some of the files in HERE you can get a sense of how it works.

So we need some folks willing to dig in and get this done. Even if you're new we can all learn. We have nothing but time. Smile

If enough interest is there I can lay some groundwork (creating a branch and helping others along) so we can focus our efforts.

I'm also willing to hack, (but I'm sure I'm not the best guy) test and debug.


Anyone? Smile
Reply
#2
As requested

I'm in.

Experience:
30 odd years programming everything from assembler on a BBC B to my current line, PHP/SQL/JScript for web dev, by way of Pascal, Modula2, Prolog, C, Paradox, Powerbuilder (r u seeing a pattern here?) and a whole bunch of stuff I can't even remember.

Current: Tech Director of a company using OS s/w to build biz class systems

Platform: Linux, erm Linux, oh and Linux. (also done PDP, Unisys, OS2, DOS, N4, windoze and again, some I have forgotten)

Current interests: XBMC, Rugby, Fishing and (excuse me a little while) ... my wife

Knowledge of audio codecs: nil

Knowledge of Python: Thought it was a snake. Saw one once when I lived in Singapore.

Willingness to learn: bring it on!

Cheers
A
System info: Asrock ION330HT-BD (Intel Atom 330 4 core i686) connected to Sony KDL-Z5800 TV using hdmi via Onkyo TX-SR507 AV Amp. [Old Config Ubuntu 12.04. (Linux 3.2.0-32-generic-pae ) XBMCBuntu (Eden 11.0 Git:unknown Compiled Mar 24 2012). OpenGL 3.3.0 NVIDIA 280.13] New Config unknown - no working XBMC at moment!
Reply
#3
Cool. I'm gonna cross-post to the Ubuntu forums to see if I can drive some folks here.

chippyash Wrote:Knowledge of audio codecs: nil
I'm pretty strong here. Though I use the official encoders I'm sure I can convert over to using whatever XBMC (FFMPEG I think) in fairly short order.

Also, you use IRC? I'm ckontros on Freenode. If you have a free day soon (Sunday will be good for me) we should get together to kick things off.
Reply
#4
AddictedToMetal Wrote:If you have a free day soon (Sunday will be good for me) we should get together to kick things off.

check your PM
System info: Asrock ION330HT-BD (Intel Atom 330 4 core i686) connected to Sony KDL-Z5800 TV using hdmi via Onkyo TX-SR507 AV Amp. [Old Config Ubuntu 12.04. (Linux 3.2.0-32-generic-pae ) XBMCBuntu (Eden 11.0 Git:unknown Compiled Mar 24 2012). OpenGL 3.3.0 NVIDIA 280.13] New Config unknown - no working XBMC at moment!
Reply
#5
I just replied.

I'm gonna look into using GIT and what we'll need to set up as a base to work.
Reply
#6
Ok so chippyash and I have decided to use BZR and Launchpad to manage the code we'll work with. From what we've read we can create GIT patches with BZR that the main XBMC devs can review.

I'll be creating a "XBMC Encoders" project with a team under it. This team will *only* be focusing on developing code to support more output formats for the CD ripper in XBMC.

We will 1st be focusing on FLAC as we're sure this has been a much requested feature. Afterward, we plan on supporting any and all formats we can.

Any C++ hackers out there are encouraged to help out. And any tips from the main dev team are very much appreciated. Smile
Reply
#7
write one class which uses lavc to encode. you can suddenly choose from many formats (ogg, mp3, flac, wma, alac, aac) simply passing a few flags.
Reply
#8
spiff Wrote:write one class which uses lavc to encode. you can suddenly choose from many formats (ogg, mp3, flac, wma, alac, aac) simply passing a few flags.

Is this the way it's currently done? With my very novice knowledge about the code it didn't look like it was done this way now. If what you suggest is a change from how it's currently done, that may pose a bigger challenge than we're equip to handle.


For now, we've created a project on Launchpad to help manage our code changes within the team we hope to create. We are still learning alot and will take any help/advice we can get. If there's any issue with what we've started please let us know.
Reply
#9
well, currently there are several EncoderXXX classes which uses lame or libvorbis directly. i suggest replacing those with a single class which uses lavc. i don't see the need to bring in another gazillion libraries (in particular since we have several platforms to consider), when there's a simple, unified way to do them all.
Reply
#10
I'm sorry I forgot to add the project link: https://launchpad.net/xbmcencoders
Reply
#11
So currently we pulled SVN and we're up-to-date. But, we're wondering how we'll manage the code changes from SVN and our changes here? I'm wondering if we can just manage our files (everything we edit) in BZR/Launchpad then send someone a tar of the changes?

Though, I think I can merge SVN changes with ours with 'bzr merge'. I think that will prefer our changes. Then, the git-patch /should/ see things correctly. (though im unsure how the git-patch really works)

I just really wanna get a good base and workflow set up before we go and make changes that make it hard for you guys to review.
Reply
#12
yes, just update your bzr through bzr merge. once you are satisfied / want a review, use bzr to generate _patches_. sending the whole repo tarred is stupid, use the rcs for what it's worth...
Reply
#13
spiff Wrote:well, currently there are several EncoderXXX classes which uses lame or libvorbis directly. i suggest replacing those with a single class which uses lavc. i don't see the need to bring in another gazillion libraries (in particular since we have several platforms to consider), when there's a simple, unified way to do them all.

yeah, seen the several classes. will look at lavc. cheers
System info: Asrock ION330HT-BD (Intel Atom 330 4 core i686) connected to Sony KDL-Z5800 TV using hdmi via Onkyo TX-SR507 AV Amp. [Old Config Ubuntu 12.04. (Linux 3.2.0-32-generic-pae ) XBMCBuntu (Eden 11.0 Git:unknown Compiled Mar 24 2012). OpenGL 3.3.0 NVIDIA 280.13] New Config unknown - no working XBMC at moment!
Reply
#14
spiff Wrote:i suggest replacing those with a single class which uses lavc.

So, you're not talking about simply sending args to FFMPEG with '-acodec' are you?

I'm just looking into info on using lavc and am finding mixed info. Any links are welcome.

EDIT. Think I found it. [url]http://en.wikipedia.org/wiki/Libavcodec[/url

Also, does lavc support tagging? (i found what encoder formats it can do)
Reply
#15
yes, avformat (the part of ffmpeg dealing with file formats) has full metadata support. no, i'm not on about using the ffmpeg binary, rather the underlieing libraries (lavf, lavc).
Reply

Logout Mark Read Team Forum Stats Members Help
"Encoders Team" Lets add support for more encoding formats for XBMC Audio-CD ripping?0