如何创建播客的 xml 文件?

如何创建播客的 xml 文件?

我对播客很感兴趣。我唯一担心的是如何创建一个 xml 文件来提供有关音频文件的所有信息。

答案1

如果您尝试制作一个与 iTunes 格式兼容的 RSS XML,您需要的是一种 RSS XML。Apple 的网站提供了您可能需要的很好的描述:看这里

这里我给你一个模板。XML 文件的开头是这样的:

 <?xml version="1.0" encoding="utf-8"?>
 <rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
 <channel>
 <atom:link href="http://PATH-TO-RSS/XML/FILE" rel="self" type="application/rss+xml" />
     <title>PODCAST TITLE</title>
     <link>http://PATH-TO-WEBPAGE</link>
     <description>DESCRIPTION OF PODCAST (SHORT)</description>
     <lastBuildDate>Mon, 27 Dec 2010 17:16:55 GMT</lastBuildDate>
     <language>en-us</language>
     <copyright>Copyright 2010 © WHOEVER</copyright>
     <itunes:subtitle>PODCAST SUBTITLE</itunes:subtitle>
     <itunes:author>PODCAST AUTHOR</itunes:author>
     <itunes:summary>PODCAST SUMMARY (LONGER)</itunes:summary>
     <itunes:owner>
         <itunes:name>PODCAST MAINTAINER</itunes:name>
         <itunes:email>[email protected]</itunes:email>
     </itunes:owner>
     <itunes:image href="http://PODCAST-IMAGE-URL/something.jpg" />
     <itunes:category text="Category1" />
     <itunes:category text="Category2">
            <itunes:category text="Subcategory" />
     </itunes:category>

接下来是任意数量的项目,如下所示:

<item>
    <title>ITEM TITLE</title>
    <link>http://link.for.this.item</link>
    <itunes:author>Item Author</itunes:author>
    <description>Item description</description>
    <itunes:summary>Item summary</itunes:summary>
    <enclosure url="http://link-to.media.file.mp3" length="filesize-in-bites" type="audio/mpeg"/>
    <guid>http://link-to-media/file.mp3</guid>
    <pubDate>Current Date (same format as above)</pubDate>
    <itunes:duration>4:21</itunes:duration>
    <itunes:keywords>Keywords</itunes:keywords>
    <category>Podcasts</category>
    <itunes:explicit>no</itunes:explicit>
</item>

文件在所有项目之后结束,如下所示:

     <itunes:explicit>no</itunes:explicit>
 </channel>
 </rss>

也许您想知道如何从文件本身提取所需的信息。假设其 id3v2 元数据标签状况良好,您也可以使用 id3v2 命令行来获取其中的一些信息,例如,我使用:

songtitle="$(id3v2 --list "$file" | grep "TIT2" | sed 's%TIT2.*:\s*%%')"

获取曲目的标题。(其中 $file 设置为文件名)。

为了获取文件大小,我使用:

filesize=$(stat -c %s "$file")

为了获得持续时间,我使用:

fileduration=$(exiftool -S -Duration "$file" | sed 's/Duration: //' | sed 's/ (approx)//')

要以适合日期字段的格式获取当前日期:

currdate=$(date -u -R | sed 's/\+0000/GMT/')

答案2

如果你只想发布播客,而不是编写自己的播客托管软件,那么你可能需要考虑使用以下托管服务或设置您自己的WordPress安装PodPress或者强力新闻插入。

相关内容