I appreciate the work done so far on podcast modules and related modules, but they're just lacking in features and intuition as to what's required of a full-fledged podcasting solution.

So, I'm going to build a NEW podcast module that can handle virtually all of our needs as podcasters. The features I want to incorporate are as follows:

  1. Ability to upload/attach media files OR link to external files.
  2. Full feed control. I want to be able to set the title/author/etc. tags as well as itunes tags per show and per episode.
  3. Multiple shows. I don't want users tied down to using their blogs, and I want the shows to have more flexibility than just a vocabulary term.

In order to do all this, I think I'll need to create two new node types, one for shows and one for episodes. I'll also need to write a special feed generator JUST for podcast shows, and I need to figure out how to assign user permissions PER SHOW, not simply all-or-none permission for podcasts.

I am FULLY WILLING to do all of the coding for this project. However, I would like some guidance from more experienced drupal modders in the best way to implement these features.

I'm also planning to write a podcast-directory module that'll work sort of like the aggregator, grabbing episodes from feeds and displaying/re-feeding/streaming them. That'll come afterwards though.

Comments

walkah’s picture

I'd strongly urge you to touch base with some others before launching off on your own.

Specifically, talk to Colin... i.e. audio.module is the logical place to start here...

feel free to contact me too if you have questions / issues around the feed generation parts.
--
James Walker :: Bryght Guy

--
James Walker :: http://walkah.net/

Dublin Drupaller’s picture

Hi SP..

Have you tried the podcast.module ?

http://www.phoebusonline.com/narkoba/?q=node/62

It's not listed on the modules page yet...still waiting for approval. I remember trying it out a while back and it worked very well. It allowed me to link to already uploaded audio, if I remember correctly..and had itunes support.

It's been a while, but, I think it might be of use. If not to answer all your questions..but modifying it might be easier.

Dub

Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate

SPThom’s picture

Niiice. I'll have to check this out... From the readme, it looks like it might not have *all* of the features I want, but if it works well, it should be a good jumping off point. Thanks!

Dublin Drupaller’s picture

Hi Sp.

not sure if it has *all* your requests covered...but when I checked it out before it worked very well and covered a lot of bases you would expect from a podcast.module

It's a good starting point, I suppose and you're looking at maybe tweaking that module if it doesn't serve your needs.

I remember emailing the person who developed it to say nice one..and he's well up for maintaining it and updating it as a contributed module on drupal.org.

Hope that helps...recommend you drop Narkoba an email if you have any questions..

Dub

Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate

Bèr Kessels’s picture

... there is really need for a podcast *module? REally, Drupal has it all. It all works, its all possible, its the configuration and combination of settings and modules that is hard. What we need above all is a recipe. Not a module
... you should write another module to handle this? Ther is audio module, podcast module, file modules, upload module, betterupload, a lot of discussion and even more scattered around docs. IMHO we need this all grouped, explained and documented, rather then a new module.
... you want feed control *only* for podcasts? Why not implement this as a fullfeedcontrol.module? Or add flexibility (theming!!) to the core feeds. Three theme functions htat wrap around the feed generation will allow all that flexibility and much more.
... you have tried to get a podcast, with the flexibity of "not using a blog"? If you use only stories, with good configured taxonomies, youre all set. Blog.module is not for personal blogging, it can be used for it, but it makes no sense. For a personal blog story is much better fit. remember that, too :)

---
if you dont like the choices being made for you, you should start making your own.
---
[Bèr Kessels | Drupal services www.webschuur.com]

SPThom’s picture

... there is really need for a podcast *module? REally, Drupal has it all. It all works, its all possible, its the configuration and combination of settings and modules that is hard. What we need above all is a recipe. Not a module

Then make with the recipes. I notice there's a section in the handbook, but it's completely empty. No recipes.

... you should write another module to handle this? Ther is audio module, podcast module, file modules, upload module, betterupload, a lot of discussion and even more scattered around docs. IMHO we need this all grouped, explained and documented, rather then a new module.

You'll still need a new module. There's still no way to handle remote enclosures. Nor is there a way to set iTunes tags per nodes or per taxonomy.

... you want feed control *only* for podcasts? Why not implement this as a fullfeedcontrol.module? Or add flexibility (theming!!) to the core feeds. Three theme functions htat wrap around the feed generation will allow all that flexibility and much more.

Why should I implement a full feed control module if I don't need it? I need something that works for podcasting... That's all I need.

... you have tried to get a podcast, with the flexibity of "not using a blog"? If you use only stories, with good configured taxonomies, youre all set. Blog.module is not for personal blogging, it can be used for it, but it makes no sense. For a personal blog story is much better fit. remember that, too :)

The problem with using a story node is permission control.

I think highly of Drupal, it's a very well-thought CMS, but the approach taken about extensibility--which I gather to be, more or less, "do it the right way in completely or don't do it at all"--is not a feasible approach for people with specific and relatively modest needs. I'll try to do this "the Drupal way" (and I'm going to ask some questions below to get off on the right foot) but some thought needs to be put in to making Drupal friendlier out-of-the-box.

Bèr Kessels’s picture

you'll get a result. And you'll get it quick too. But.

Drupal can change. Every change breaks everthing youve done.
Your stuff will conflict. Nothing is more annoying then having a podcasting module, that breask the core + audio module podcasts completely. for example.
You can get smaller modules that acheive the same as you want, only on a much brader scale. It requires absolutely no more work. just moer thinking about the architecture.

And yes, the recipe is not there. Its a wiki........ *hint*

---

if you dont like the choices being made for you, you should start making your own.
---
[Bèr Kessels | Drupal services www.webschuur.com]

SPThom’s picture

Are you just trying to get me to not write a module?

The fact remains that there is no module that allows for customization of itunes tags. I'm willing to code one--and I think if you look below you'll find that I've fine-tuned my intended design to complement rather than compete with the Audio module.

Sure it might break with later versions of Drupal, but I think that's a possibility that's implicitly understood by anyone willing to code a module.

Adrian Freed’s picture

into a proposal. We will need developers to implement the proposal as it is discussed and concensus acheived. Please see what other people have said so far about these issues:
http://drupal.org/node/30399
http://drupal.org/node/21113

Bèr Kessels’s picture

http://www.webschuur.com/node/246 are the docs that go with the alpha/inprogress code at http://drupal.org/node/31736

---
if you dont like the choices being made for you, you should start making your own.
---
[Bèr Kessels | Drupal services www.webschuur.com]

zirafa’s picture

You can also get Narkoba's podcast module from drupalART:
http://drupalart.org/node/146

In general the site tries to deal and discuss with drupal's use as a platform for artists and musicians.

I would suggest playing with audio.module, playlist.module, and Narkoba's podcast module before diving in. Also an easy way to prototype your functionality is to configure flexinode and PHP snippets to simulate what you are trying to do. Then you could get an idea of what is really missing and how you might be able to improve upon the existing code (or decide to go in your own direction).

We also need space to talk about these issues. I suggest the Drupal development mailing list and the DrupalART mailing list.

Also check out Ber's file API project. It is proposed as a good long term solution for file and media support.

Good luck!

-Farsheed

Colin Brumelle’s picture

I would love to help out with this in any way. I think the best way to approach this is to build on top of the audio module (although I might be biased because I wrote it). But I think this would give the most flexibility. The thing NOT to do is to have a 'podcast.module' that doesn't let other modules use or access the audio files that have been uploaded. Having audio files stored in a dedicated audio node type is really crucial to having this work, I think...

I have made a few improvements to the audio module, so it now provides a simple API of sorts. From any module (like a new podcast module, for example) you can just call:
audio_api_create_item($file_params, $node_params);

where:


node_params = array('title' => 'A post title here',
                   'body' => 'The body goes here',
                   'publish' => 1 //this is 0 or 1,
                   'promote' => 1,
                   'uid' => uid //this is an optional parameter
            )

and:

file_params = array('filepath' => 'the/temp/filepath/',
                    'filename' => 'a filename',
                    'filemime' => 'mime/type',
                    'filesize' => '12345',
                    'downloadable' => '1' //this is 0 or 1

This would create a brand spanking new audio node with the given parameters. The idea behind this is to make it easy for other modules to create audio nodes.

As Ber pointed out, it is certainly possible to podcast with Drupal right now. The audio.module, playlist.module, and the upload module are all different ways to go about this. What would be nice though, is to have a way to support Apples iTunes enhanced podcast (m4a/m4b) file format. You can read here (http://www.makezine.com/blog/archive/2005/07/how_to_make_enh.html) for some more details on enhanced podcasts. Ideally, I would love to see some kind of flash or ajax interface that let me associate images and text at various time markers on my audio file. iTunes presents these time segments as chapters. I am imagining that the interface would have a 'timeline like' view of the audio file, and you could drop in place markers to denote a new chapter.

It would also be nice to have more control about what is displayed in various titles and headings on the podcast. I would be glad to help out on this if needed...

Colin Brumelle

Adrian Freed’s picture

the problem is I want to do video podcasts with the same kind of interface.

liorkesos’s picture

Hi Collin and other people on this thread...
I'm working on a similiar project and have made some minor enhancements to the audio moudle (which are probably coded not in an optimal fashion - first drupal project).
One of the issues my client required which is pretty standard in podcasting portals is a refference to a stored file on the server.
The problem is that podcasts can be as big as 50-70MB and the current upload mechanisim does not give you any progress indication.
My prospective client required to upload by ftp and reffer to the stored mp3.
I finished the code to let a user use a file under: variable_get('file_directory_path', 'files') ."/" . variable_get('audio_default_path', 'audio')
I'm not familiar with the release proccess or patch submission procedure - so I'll need your advice and possible review in this case.

I didn't go on the narkoba path because it was decided allready that the functionality overlap won't let enter drupal - and I wanted something that would scale and grow in the future as well.

An additional setting that can be used is the abilty to store under user directories under audio or to somehow segment the files from each other to achieve privacy.
Think about the problems of giving ftp access to files/audio ro multiple users - I'm sure that user segmentation will let me manage it better.

Anyway these are things that I've been working on and plan to work on (in audio.module) in the near future based on real world podcaster specifications and input.
any review or insights will be welcome.

thanks
Lior Kesos

SPThom’s picture

I think the best way to approach this is to build on top of the audio module (although I might be biased because I wrote it). But I think this would give the most flexibility. The thing NOT to do is to have a 'podcast.module' that doesn't let other modules use or access the audio files that have been uploaded.

I agree. At this point, I plan to work on top of either the audio module or the upload module... I'm not sure which, and I'd appreciate yours and anybody's input based on I have in mind to do.

At this point I'm looking at implementing my "podcast" module as an iTunes Tags module which would allow us to attach iTunes tags to any feed item, and additionally I guess a means to display/theme the iTunes info on a node page too. (Uh, yeah, no clue how to do all this yet, but I think I'm at least getting the concept nailed down.)

One of the real tricks, I think, is figuring out how to allow users to choose between external enclosures or an attached Audio file. Any suggestions?

What would be nice though, is to have a way to support Apples iTunes enhanced podcast (m4a/m4b) file format. You can read here (http://www.makezine.com/blog/archive/2005/07/how_to_make_enh.html) for some more details on enhanced podcasts.

I'm familiar with the enhanced podcasts, but the truth is Apple's implementation is a pain, both for producers (anyone on the PC side is screwed) and listeners (who are trapped into using an AAC-compatible player). Better would be to take advantage of ID3's proposed chapter tags, or implement a new feed-based (or otherwise XML-based) solution--which I happen to be working on as part of a larger, unrelated project.

It would also be nice to have more control about what is displayed in various titles and headings on the podcast. I would be glad to help out on this if needed...

Help would gladly be appreciated, Colin, as you seem to have a good head for coding Drupal stuff proper. From the sound of it, my iTunes Tag module is pretty close to what you have in mind.

Perhaps we should bump heads. Feel free to e-mail me at spthom(a)gmail.com anytime, or else I'll probably get in touch with you soon.

podcaast411’s picture

On my latest podcast, I Beta Tested the service from AudioMerge.com that offers up what I would call enhanced webcasting for lack of a better name. I think it does what you are talking about.

Go to:

http://www.podcast411.com

and click on "Interview" for show #113 with Larry Kudlow. It will open up a web player, that is linked to my podcast and it not only shows pictures and links, it also allows listeners, to answer poll questions. Leave Comments and other options. I think Michael at Audiomerge.com did a pretty good job putting this together.

Rob W
podcast411

SPThom’s picture

Ok, so far, this is my best idea for implementing what I really need out of a Podcasting module--it's becoming sort of an iTunes Tag module:

  • Assign iTunes tag information to a term. This way one may use a term's RSS feed as a podcast feed, and the iTunes info will provide the feed-level tags required by iTunes.
  • Provide default iTunes tags for terms and other feeds without specific information. This includes the option of having a feed-level yes.
  • Assign iTunes tag infromation to a node. This will allow us to provide item-level iTunes information.
  • Theming of iTunes info.
Dublin Drupaller’s picture

Hi SPTHom,

I remember when I was trying out narkoba's podcast.module it included itunes tags.

Dub

Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate

SPThom’s picture

It does indeed. However, it's all item-level--there are no feed-level tags, and no namespace declaration, so the feed doesn't validate.

Phillip Mc’s picture

found this. thought it might be of use to others

http://www.nobodylikesonions.com/feedcheck/

Philk

mdowsett’s picture

Since this isn't a module on Drupal's site, where can I go for support? I can't get the module to work very well at all.

I CAN upload songs and play them withing the node:
http://test1.dowsett.ca/node/1130

But going to the podcast page gives me errors:
http://test1.dowsett.ca/podcast

And the link from the Podcast block gives different errors:
http://test1.dowsett.ca/podcast/showpod/1130

And where would iTunes subsribers point to to subscribe to my Podcast (if I ever get it working)?

shrop’s picture

I am developing a new church web site using Drupal. I want to offer our messages via podcast to make it easy for everyone to keep up to date with the latest audio files on the site.

I am interested in the development of this discussion "podcasting with Drupal", but..

for my project, file space limitations are going to be an issue as I will want to keep archive files for as long as possible. I have had recommendations to use libsyn (https://www.libsyn.com/) for podcasting. It looks to be affordable and it steps you throught the entire podcasting process including feed generation. I am thinking that I can create a page and/or block in Drupal to all easy subscription to the podcasts.

Thanks,
Mark

narkoba’s picture

i guys,
I've just finished the development of (again) a new podcast module. this time the module works with the audio module from colin, and all the itunes tags in the feed are stored in a database, so they can be easily edited.

i've started with the playlist module, and changed this to my likings. so basically the work around is the same as the playlist module (including ajax)

have a look at: http://www.phoebusonline.com/narkoba/?q=node/164

and let me know if this suits your needs or not...

i guess it will :)

take care, happy weekend

narkoba

Dublin Drupaller’s picture

Hi Narkoba,

Congrats. Just tried your podcast.module and it's superb.

Have you applied for a Contributers account with Drupal?

I think this would be a great addition to the modules page.

Dub

Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate

karl sf’s picture

Hi. I can't seem to find your download page for the module. The link above (node/164) is just a page that shows the module working, correct?

I found a page with a download for an old verions 4.6, what is the new version, and what is different?

Karl Erb
Communications Strategist
Information Architect, User Interface Designer

zzzmarcus’s picture

I'm also wondering if you'll be posting a download link soon so I can start using it :)

zzzmarcus’s picture

ddegner’s picture

The website appears to be down. :(
Any idea when it will become an official drupal module hosted on our page?

-----------------------------------------------------
Jump through a few hoops, get a free iPod.
http://ipods.freepay.com/?r=8480908

narkoba’s picture

my domain was expired, and now they ask 300$ for renewing, so i got a new one;
go to www.narkoba.be

i have a cvs account, but so far no succes in connecting to the cvs server. so i guess we need to be patient.

cheers

***----___
drupal & podcasting -> narkoba

mdowsett’s picture

I can't get it to work...i tried uploading the smallest MP3 i could find (44k) and it still said I exceeded the total file size.

And I don't see any settings for allowing a limit to file size...besides I am doing so as the master admin.

And in the "manage podcast episodes" tab, it says something about a "green action icon" and I don't see that either.

Anxious to get this working...

narkoba’s picture

Hi,

Maybe you need to configure your php.ini file. make a php file like this:

<?
    phpinfo();
?>

save it as info.php on your server, and browse to the page.
look for file_uploads (it should say on) and upload_max_filesize it should be at least 12M or something...

Just want to let you know that you need to have the audio module to upload mp3 files. maybe you can check: http://drupal.org/project/audio and see if other people also have that problem.

when there are no audio files uploaded with the audio module, clicking on "manage podcast episodes" will show 0 audio files... so also no green icon to add the mp3 to the podcast...
hope it works out for you... any questions? shoot!

***----___
drupal & podcasting -> narkoba

RussellH’s picture

Has anyone got Narkoba's module to actually work? It's almost good enough, but missing a few features, but most importantly, the feed seems incomplete. There's no enclosures, episode info etc etc, at least not on my site where I built it.

When I throw the feed link into iPodder, the podcast info comes up OK, but it doesn't recognise any episodes.

RussellH’s picture

So I checked a bit more this morning, and when I set it up on my primary site, it works fine, but my sub-domain which is setup as a drupal multisite, not items/enclosures are created in the feed xml.

Could this be a problem in the drupal RSS code when handling multisites?

jeff h’s picture

Hi,

Am I right in understanding the upload_max_filesize setting will determine the maximum filesize of an uploaded MP3 podcast? Surely it would be common to go above this? My podcasts are around 25 MB each.

I did a google search on upload_max_filesize and found recommendations that it ideally not be set above 5 MB, and 10 MB as a practical absolute limit. Anything beyond that and FTP was the way to go. Well I certainly don't want my users to have to learn how to FTP files, then understand URLs enough to link to them from within a Drupal post.

Is there a way around this, to get larger files uploaded? Can I just set upload_max_filesize to 50 MB, or am I risking security or something... what are the implications? And how do I actually change the setting?

Sorry I have so many questions. Thanks for any answers.

Jeff

VooDooStevie’s picture

X being the version of php. USually 4 or 5. Anyway, I set mine up as 200MB max. The only ramifications you need to worry about if you set a high number is diskspace that will be taken up if you have a ton of users having access to upload through the audio or upload modules.

Check permissions (access controls) on who has access to them. If you have not set up groups I suggest doing so. This way only certain users within a group can use that module and not just all authenticated users or anonymous users.

I have been using this method for podcasting and it seems to work.

  1. Record podcast
  2. Bring MP3 file into iTunes
    • Change Title, Author and album and place show notes into comments.
    • Add Album Art
    • Use Convert To MP3 to set the settings into a new MP3 file

    (If you use CastBlaster (http://www.castblaster.com) you can skip this step)

  3. Upload using Audio Module
  4. In Drupal
    • Add a vocabulary for the Audio Module and add an item called Podcast or a tagline for your show.
    • Use the URL Alias for the feed (/taxonomy/term/whatever to be like podcast.xml for example)
    • Test in iTunes.

I have had success with it so far and album art shows up properly on each one of my casts. My first episode was done with the podcast module and the art seemed to change whenever I added a new one, however for people that were new they got the same art as the last one. The first episode was done without iTunes or CastBlaster.

VooDooRadio: http://www.voodoostevie.net for the podcast.

VooDooStevie’s picture

Feedburner also has the ability to convert to iTunes compat feeds. And it's free. I have 2 feed links. 1 for feedburner and one that is aliased to the Drupal taxonomy path.

seaneffel’s picture

I am sure you must have seen the progress made by Fabio on the video.module. We use this module on our community television site to publish video RSS feeds, the links to which can be entered into iTunes and DTV and FireAnt and iPodderX and all kinds of things, to be viewed by any 'podcast' viewer. For example,plug the link to our iPod formatted video RSS line into iTunes: http://www.cctvcambridge.org/ipodfeed

You can also view that feed on the web at: http://www.cctvcambridge.org/ipod

Not sure if the module you need to write can be handled by the already exisiting video.module but I would get in touch with Fabio (Fax8 on Drupal.org) and talk with him. He customized the module for our uses and included the changes into the module permanently, I think it might be better to join forces with his project rather than shoot off another disparate project that does almost the same thing.

Also, I would love to put the term podcast behind us, its totally, like, ten minutes ago. This method of distributing media to third party viewers (of a scope now far greater than just the iPod) needs a new, inclusive name. I know that 'podcast' has been and still is a big-hyped buzzword but its time has come.

Sean
Cambridge Community Television
http://www.cctvcambridge.org

zirafa’s picture

The new 4.7 version of the playlist.module provides iTunes friendly podcast feeds, xspf, m3u, and pls feeds. In addition, it provides integration of the xspf slim/extended player to play playlists, a "listening station" block, and an audio browser to search and add audio files to a playlist, with an iTunes like interface. I highly recommend checking it out (but of course i'm slightly biased ;)

Project page:
Playlist.module

Demo:
Demo Site

Features:
1) iTunes podcast/xspf/m3u/pls feeds generated on the fly, with full metadata support
2) album artwork can now be integrated (through URL)
3) xspf flash players for each feed, including popup players for each
4) audio browser, similar to iTunes, used to search audio tags and find the audio to add to playlists
5) upload new audio files to playlists on the fly with an inline uploader
6) listening station: an xspf flash player block that has a dropdown select to listen to different playlists on the site
7) Cut n' paste HTML and javascript includes for integrating the flash player on other sites
8) lots of customization options

Dublin Drupaller’s picture

just a quick one to say superb work zirafa the new module looks great. I particularly like the "itunes" styled listing. Looks very tidy and intuitive.

Dub

Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate

hos’s picture

I am developing a site which would need to show and podcast Video.

#1 I need the people to upload their video files
#2 Type in some info about the podcast, etc.
#3 click submit and it creates the feed and a page for it.

So the main podcast would be from www.mysite.com the description in the podcast feed should be changed to the new file.

I don't want all of the podcast descriptions to say the same thing. I tried a podcast module last year, and that's what happened. The feed needs to change per video. So it will say it's from www.mysite.com but the description on the different podcasts would be unique to each.

Does this Podcast Module allow video files?
When it gets to the iTunes directory, will the description be unique?

Thank you,
HOS

seaneffel’s picture

Look at Video.module. It is under development for Drupal 4.7 but I think it will do what you want. I have recently used the cvs version to upload video files in lots of different formats, and it requires a certain amount of metadata like time, dimension, format before you can post. There is a unique text body for each video. It may be some time before it is ready for 4.7 fully.

Sean
Cambridge Community Television
http://www.cctvcambridge.org

taggartj’s picture

this comes late in the game but i just made a simple podcast module for drupal 7 and want to make it a full project.

to test and play go to:
https://drupal.org/sandbox/taggartj/2270047