So Dave rang me yesterday asking about compiling code. Dave wanted to try an application called Tupi.
Read more..
I have been looking at the ffmpeg issue when extracting audio from DVD’s. If you remember from this post. I found the source code for K9Copy which throws the error in question :
k9mp4enc.cpp
bool k9MP4Enc::check() {
if (m_mpeg2)
return true;
QString sCodecA,sCodecV;
k9AudioCodecs *audioCodecs=new k9AudioCodecs(0);
sCodecA=audioCodecs->getEncoder(m_audioCodec);
if (m_extractAudio && sCodecA !="ffmpeg") {
k9log::add(i18n("Audio extraction can only be done with ffmpeg"),k9logLevel::ERROR);
k9Dialogs::error(i18n("Audio extraction can only be done with ffmpeg"),i18n("Encoding error"));
return false;
}
k9VideoCodecs *videoCodecs=new k9VideoCodecs(0);
sCodecV=videoCodecs->getEncoder (m_codec);
if (m_extractMkv && sCodecV!="ffmpeg") {
k9log::add(i18n("Matroska encoding can only be done with ffmpeg"),k9logLevel::ERROR);
k9Dialogs::error(i18n("Matroska encoding can only be done with ffmpeg"),i18n("Encoding error"));
return false;
}
if (!m_extractAudio) {
if ( ! k9Tools::checkProgram(sCodecV) ) {
k9log::add(i18n("Unable to run %1").arg(sCodecV),k9logLevel::ERROR);
k9Dialogs::error (i18n("Unable to run %1").arg(sCodecV) , i18n("Encoding error"));
m_error = TRUE;
return false;
}
}
if ((sCodecA!=sCodecV) || m_extractAudio) {
if ( ! k9Tools::checkProgram(sCodecA) ) {
k9log::add(i18n("Unable to run %1").arg(sCodecV),k9logLevel::ERROR);
k9Dialogs::error (i18n("Unable to run %1").arg(sCodecA) , i18n("Encoding error"));
m_error = TRUE;
return false;
}
}
return true;
}
so – looking at the line which caues the error to be thrown :
sCodecA=audioCodecs->getEncoder(m_audioCodec);
if (m_extractAudio && sCodecA !=”ffmpeg”) {
--- -it would appear that the getEncoder is returning something other than ffmpeg. Next step : Prepare a KDE Development Environment and see what is being returned
I’m sure it’s a question we’ve all asked from time to time – “how exactly would I fingerprint the audio track of a Doctor Who DVD.?” And I’m sure that a small minority out there would be asking “Why would I want to fingerprint an Audio Track?”
The Doctor Who companion App is something I am currently working on and as part of this we would need fingerprints of all the audio for all the episodes.
First part of this challenge : Ripping the Audio.
“Fear does not exist in this Dojo”
That man was John Kreese. I think there’s a lesson for us all there somewhere… that fear does …ahh screw it.. I think we’re all aware about John’s approach to a number of aspects of life, including fair play and not being a d*ck.
This is a guy who appears to spend the first half of his lessons shouting statements at his paying students, and then questioning himself..
John : Fear does not exist in this dojo… does it?
Sudents : No Sensei
John : Pain does not exist in this dojo… does it?
Sudents : No Sensei
Mike : Easy John.. It’s time for your medication…
John : Defeat? – how about defeat?… Does that exist in this dojo?
Students look uncomfortable.
Mike : Ok John… let’s have a nice sit down
John : This used to be orange groves, as far as the eye could see
Mike : Right John…
Mike gently helps the ailing Sensei to a chair, and gently wipes the corner of his mouth with a tissue. <scene>
Anyway Thursday evening I attended a wooweb meeting and I found myself in a dojo of my own..
A Coding dojo for helping keep mine – and my dojo-mates’ code-fu sharp. Well – really it seemed to be like 7 programmers in a room bumbling through an exercise in learning node.js.
For those none techies out there – there’s a couple of things I probably need to elaborate on.
- Node.JS is a framework based on Chrome’s Java engine, allowing you to create applications that execute within that engine.
- A Coding Dojo is an exercise in collaborative learning where an ad hoc team of developers of differing abilities get together to solve programming problems using a new tool or technology.
So Thursday night I found myself at my first ever coding dojo event. Our exercise was to create a HTML console for an IRC Chanel, allowing you to write comments onto the wooweb IRC Chanel using the web front end, and to allow comments posted to the channel to appear on the web site. To start with, a js file was created that allowed node.js to connect to the IRC Chanel – this was made much easier by the use of an IRC Client library for Node.
Next we looked at creating a server that could respond to web requests, and return a page. That is exceptionally easy to do, as there is a built in HTTP class.
Finally we looked a hooking the browser front end to the back end IRC proxy using the socket.IO library. What was interesting was that each developer took turns in being an audience member, asking questions, or offering suggestions – a Co driver and a main developer, who was responsible for actually typing the code.
We managed to knock up a basic system in just under an hour and a half – and it was great fun.
I took the plunge and decided to unfollow @Lord_Sugar on twitter. I just got to the stage when I felt that my twitter stream had become an avenue for Alan to mouth off if people didn’t see things his way, and adverts for his target advertising which were surprisingly un-targetted. You know what – my stream has become significantly less angry.
Managed to get audioscout to build. Now to get it into Android….
Dalek RT @baskers: Do you see a Dalek or a shower?Dalek.bit.ly/17tp0CG
— Kevin Safford (@KevSaff) April 29, 2013
Categories
- Android
- Announcements
- Art
- Articles
- Content Packaging
- Dr who
- Games
- Medical
- Movies
- OggCamp
- Open University
- Podcasting
- Privacy
- Programming
- python
- Quickly Ebook Template
- raspi
- Security
- Technology
- TweetUpdate
- Uncategorized
- whobuntu
Archives
- June 2013
- May 2013
- April 2013
- March 2013
- February 2013
- January 2013
- December 2012
- November 2012
- October 2012
- September 2012
- August 2012
- July 2012
- June 2012
- May 2012
- April 2012
- March 2012
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- August 2010
