"Encoders Team" Lets add support for more encoding formats for XBMC Audio-CD ripping?

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
AddictedToMetal Offline
Member
Posts: 77
Joined: Dec 2009
Reputation: 0
Lightbulb  "Encoders Team" Lets add support for more encoding formats for XBMC Audio-CD ripping?
Post: #1
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
find quote
chippyash Offline
Senior Member
Posts: 130
Joined: Jan 2010
Reputation: 0
Location: Northants, UK
Post: #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!
(This post was last modified: 2010-01-29 23:57 by chippyash.)
find quote
AddictedToMetal Offline
Member
Posts: 77
Joined: Dec 2009
Reputation: 0
Post: #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.
(This post was last modified: 2010-01-30 00:11 by AddictedToMetal.)
find quote
chippyash Offline
Senior Member
Posts: 130
Joined: Jan 2010
Reputation: 0
Location: Northants, UK
Post: #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!
find quote
AddictedToMetal Offline
Member
Posts: 77
Joined: Dec 2009
Reputation: 0
Post: #5
I just replied.

I'm gonna look into using GIT and what we'll need to set up as a base to work.
find quote
AddictedToMetal Offline
Member
Posts: 77
Joined: Dec 2009
Reputation: 0
Post: #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
find quote
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #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.
find quote
AddictedToMetal Offline
Member
Posts: 77
Joined: Dec 2009
Reputation: 0
Post: #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.
find quote
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #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.
find quote
AddictedToMetal Offline
Member
Posts: 77
Joined: Dec 2009
Reputation: 0
Post: #10
I'm sorry I forgot to add the project link: https://launchpad.net/xbmcencoders
find quote
AddictedToMetal Offline
Member
Posts: 77
Joined: Dec 2009
Reputation: 0
Post: #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.
find quote
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #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...
find quote
chippyash Offline
Senior Member
Posts: 130
Joined: Jan 2010
Reputation: 0
Location: Northants, UK
Post: #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!
find quote
AddictedToMetal Offline
Member
Posts: 77
Joined: Dec 2009
Reputation: 0
Post: #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)
(This post was last modified: 2010-02-04 22:41 by AddictedToMetal.)
find quote
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #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).
find quote
Post Reply