Как создать XML-файл для подкастинга?
Я заинтересован в подкастинге. Меня беспокоит только то, как создать XML-файл, чтобы предоставить всю информацию об аудиофайле.
3 ответа
Если вы пытаетесь сделать его совместимым с форматом iTunes, вам понадобится разновидность 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>maintainer@email.address</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/')
Если все, что вы хотите сделать, это создать подкаст и не писать свое собственное программное обеспечение для размещения подкастов, вы можете подумать о хостинг-сервисе, таком как libsyn, или о настройке собственной установки WordPress с помощью плагина PodPress или PowerPress.
XML-файлы: Могу ли я использовать openoffice для создания такого файла? Если да, то какой? Как я могу сохранить в двух разных форматах XML.