kopia lustrzana https://github.com/Podcastindex-org/podcast-namespace
Merge branch 'main' into jamescridland-patch-7
commit
f33df16083
121
LICENSE
121
LICENSE
|
@ -1,121 +0,0 @@
|
|||
Creative Commons Legal Code
|
||||
|
||||
CC0 1.0 Universal
|
||||
|
||||
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
|
||||
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
|
||||
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
|
||||
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
|
||||
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
|
||||
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
|
||||
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
|
||||
HEREUNDER.
|
||||
|
||||
Statement of Purpose
|
||||
|
||||
The laws of most jurisdictions throughout the world automatically confer
|
||||
exclusive Copyright and Related Rights (defined below) upon the creator
|
||||
and subsequent owner(s) (each and all, an "owner") of an original work of
|
||||
authorship and/or a database (each, a "Work").
|
||||
|
||||
Certain owners wish to permanently relinquish those rights to a Work for
|
||||
the purpose of contributing to a commons of creative, cultural and
|
||||
scientific works ("Commons") that the public can reliably and without fear
|
||||
of later claims of infringement build upon, modify, incorporate in other
|
||||
works, reuse and redistribute as freely as possible in any form whatsoever
|
||||
and for any purposes, including without limitation commercial purposes.
|
||||
These owners may contribute to the Commons to promote the ideal of a free
|
||||
culture and the further production of creative, cultural and scientific
|
||||
works, or to gain reputation or greater distribution for their Work in
|
||||
part through the use and efforts of others.
|
||||
|
||||
For these and/or other purposes and motivations, and without any
|
||||
expectation of additional consideration or compensation, the person
|
||||
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
|
||||
is an owner of Copyright and Related Rights in the Work, voluntarily
|
||||
elects to apply CC0 to the Work and publicly distribute the Work under its
|
||||
terms, with knowledge of his or her Copyright and Related Rights in the
|
||||
Work and the meaning and intended legal effect of CC0 on those rights.
|
||||
|
||||
1. Copyright and Related Rights. A Work made available under CC0 may be
|
||||
protected by copyright and related or neighboring rights ("Copyright and
|
||||
Related Rights"). Copyright and Related Rights include, but are not
|
||||
limited to, the following:
|
||||
|
||||
i. the right to reproduce, adapt, distribute, perform, display,
|
||||
communicate, and translate a Work;
|
||||
ii. moral rights retained by the original author(s) and/or performer(s);
|
||||
iii. publicity and privacy rights pertaining to a person's image or
|
||||
likeness depicted in a Work;
|
||||
iv. rights protecting against unfair competition in regards to a Work,
|
||||
subject to the limitations in paragraph 4(a), below;
|
||||
v. rights protecting the extraction, dissemination, use and reuse of data
|
||||
in a Work;
|
||||
vi. database rights (such as those arising under Directive 96/9/EC of the
|
||||
European Parliament and of the Council of 11 March 1996 on the legal
|
||||
protection of databases, and under any national implementation
|
||||
thereof, including any amended or successor version of such
|
||||
directive); and
|
||||
vii. other similar, equivalent or corresponding rights throughout the
|
||||
world based on applicable law or treaty, and any national
|
||||
implementations thereof.
|
||||
|
||||
2. Waiver. To the greatest extent permitted by, but not in contravention
|
||||
of, applicable law, Affirmer hereby overtly, fully, permanently,
|
||||
irrevocably and unconditionally waives, abandons, and surrenders all of
|
||||
Affirmer's Copyright and Related Rights and associated claims and causes
|
||||
of action, whether now known or unknown (including existing as well as
|
||||
future claims and causes of action), in the Work (i) in all territories
|
||||
worldwide, (ii) for the maximum duration provided by applicable law or
|
||||
treaty (including future time extensions), (iii) in any current or future
|
||||
medium and for any number of copies, and (iv) for any purpose whatsoever,
|
||||
including without limitation commercial, advertising or promotional
|
||||
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
|
||||
member of the public at large and to the detriment of Affirmer's heirs and
|
||||
successors, fully intending that such Waiver shall not be subject to
|
||||
revocation, rescission, cancellation, termination, or any other legal or
|
||||
equitable action to disrupt the quiet enjoyment of the Work by the public
|
||||
as contemplated by Affirmer's express Statement of Purpose.
|
||||
|
||||
3. Public License Fallback. Should any part of the Waiver for any reason
|
||||
be judged legally invalid or ineffective under applicable law, then the
|
||||
Waiver shall be preserved to the maximum extent permitted taking into
|
||||
account Affirmer's express Statement of Purpose. In addition, to the
|
||||
extent the Waiver is so judged Affirmer hereby grants to each affected
|
||||
person a royalty-free, non transferable, non sublicensable, non exclusive,
|
||||
irrevocable and unconditional license to exercise Affirmer's Copyright and
|
||||
Related Rights in the Work (i) in all territories worldwide, (ii) for the
|
||||
maximum duration provided by applicable law or treaty (including future
|
||||
time extensions), (iii) in any current or future medium and for any number
|
||||
of copies, and (iv) for any purpose whatsoever, including without
|
||||
limitation commercial, advertising or promotional purposes (the
|
||||
"License"). The License shall be deemed effective as of the date CC0 was
|
||||
applied by Affirmer to the Work. Should any part of the License for any
|
||||
reason be judged legally invalid or ineffective under applicable law, such
|
||||
partial invalidity or ineffectiveness shall not invalidate the remainder
|
||||
of the License, and in such case Affirmer hereby affirms that he or she
|
||||
will not (i) exercise any of his or her remaining Copyright and Related
|
||||
Rights in the Work or (ii) assert any associated claims and causes of
|
||||
action with respect to the Work, in either case contrary to Affirmer's
|
||||
express Statement of Purpose.
|
||||
|
||||
4. Limitations and Disclaimers.
|
||||
|
||||
a. No trademark or patent rights held by Affirmer are waived, abandoned,
|
||||
surrendered, licensed or otherwise affected by this document.
|
||||
b. Affirmer offers the Work as-is and makes no representations or
|
||||
warranties of any kind concerning the Work, express, implied,
|
||||
statutory or otherwise, including without limitation warranties of
|
||||
title, merchantability, fitness for a particular purpose, non
|
||||
infringement, or the absence of latent or other defects, accuracy, or
|
||||
the present or absence of errors, whether or not discoverable, all to
|
||||
the greatest extent permissible under applicable law.
|
||||
c. Affirmer disclaims responsibility for clearing rights of other persons
|
||||
that may apply to the Work or any use thereof, including without
|
||||
limitation any person's Copyright and Related Rights in the Work.
|
||||
Further, Affirmer disclaims responsibility for obtaining any necessary
|
||||
consents, permissions or other rights required for any use of the
|
||||
Work.
|
||||
d. Affirmer understands and acknowledges that Creative Commons is not a
|
||||
party to this document and has no duty or obligation with respect to
|
||||
this CC0 or use of the Work.
|
378
README.md
378
README.md
|
@ -11,11 +11,31 @@ will become the framework that the independent podcast community needs to delive
|
|||
|
||||
## Current Roadmap
|
||||
|
||||
**Phase 1** - [Closed] Comment period closed on `11/15/20` and 5 tags were adopted.
|
||||
**Phase 1** - [Closed] Comment period closed on `11/15/20` and 5 tags were **formalized**.
|
||||
|
||||
**Phase 2** - [Open] Comment period closes on `1/31/21` and tags that have good consensus will be adopted. Any tags with questions, concerns or no discernable use case will be either removed or booted to Phase 3.
|
||||
**Phase 2** - [Closed] Comment period closed on `1/31/21` and 4 tags were **formalized**.
|
||||
|
||||
**Phase 3** - [Open] Proposals welcome. This phase will close on June 1st, 2021. At that time, any tags with full agreement will be reviewed for
|
||||
formalization. Any tags with concerns or questions will be pushed forward to the next phase. Current tag proposals under
|
||||
consideration are listed [here](#phase-3-open).
|
||||
|
||||
<br><br>
|
||||
|
||||
|
||||
## Legend
|
||||
|
||||
**Formalized** - This tag is frozen and listed in the XMLNS document. Any future changes to it's definition must maintain backwards compatibility.
|
||||
|
||||
**Finalized** - The tag is structurally stable and implementation testing should be considered safe. Any breaking changes will be widely communicated.
|
||||
|
||||
**Open** - The tag/phase is open for discussion and collaboration.
|
||||
|
||||
**Required** - This tag or attribute must be present.
|
||||
|
||||
**Optional** - This tag or attribute may be left out.
|
||||
|
||||
**Recommended** - This tag or attribute is technically optional, but is strongly recommended to be present for the tag to function as fully intended.
|
||||
|
||||
**Phase 3** - [Open] Proposals welcome.
|
||||
|
||||
<br><br>
|
||||
|
||||
|
@ -84,10 +104,7 @@ To see a list of platforms and apps that currently implement some or all of thes
|
|||
|
||||
## Example Feed
|
||||
|
||||
There is an example feed [example.xml](example.xml) in this repository showing the podcastindex namespace side by side with the Apple itunes namespace. There is also
|
||||
a "sandbox" feed where we experiment with tags while they are being hashed out.
|
||||
|
||||
The url for that feed is: [https://noagendaassets.com/enc/pc20sandbox.xml](https://noagendaassets.com/enc/pc20sandbox.xml).
|
||||
There is an example feed [example.xml](example.xml) in this repository showing the podcastindex namespace side by side with the Apple itunes namespace.
|
||||
|
||||
<br><br>
|
||||
|
||||
|
@ -106,211 +123,247 @@ full implementation details.
|
|||
- **\<podcast:chapters>** <br>
|
||||
- **\<podcast:soundbite>** <br>
|
||||
|
||||
<br><br>
|
||||
<br>
|
||||
|
||||
|
||||
### <u>Phase 2 (Open)</u>
|
||||
|
||||
- **\<podcast:person name="[name of person]" (role="[host,guest,etc.]") (group="[cast,writing,etc.]") (img="[uri of content]") (href="[uri to Podchaser/website/wiki/blog]") />**
|
||||
|
||||
Channel or Item (optional | multiple)
|
||||
|
||||
This element specifies a person of interest to the podcast. It is primarily intended to identify people like hosts, co-hosts and guests. Although, it is flexible enough to allow fuller credits to be given using the roles
|
||||
and groups that are listed in the Podcast Taxonomy Project.
|
||||
|
||||
- `name` (required) This is the full name or alias of the person.
|
||||
- `role` (optional) Used to identify what role the person serves on the show or episode. This should be a reference to an official role within the Podcast Taxonomy Project list (see below). If `role` is missing then "host" is assumed.
|
||||
- `group` (optional) This should be a camel-cased, alphanumeric reference to an official group within the Podcast Taxonomy Project list. If `group` is not present, then "cast" is assumed.
|
||||
- `img` (optional) This is the url of a picture or avatar of the person.
|
||||
- `href` (optional) Link to a relevant resource of information about the person. (eg. Podchaser profile, website, blog or wiki entry). Linking to the Podchaser profile url is highly encouraged as the standard for this url. In a case
|
||||
where there is no Podchaser profile, then a link to the person's website, blog, wiki entry, etc. can be used.
|
||||
|
||||
The maximum recommended string length of the node value is 128 characters.
|
||||
|
||||
The `role` and `group` tags are case-insensitive. So, "Host" is the same as "host".
|
||||
|
||||
The full taxonomy list is [here](taxonomy.json) as a json file.
|
||||
### <u>Phase 2 (Closed on 1/31/21)</u>
|
||||
|
||||
<br>
|
||||
|
||||
- **\<podcast:location <strike>country="[Country Code]" (locality="[Locality]") (latlon="[latitude,longitude]") (osmid="[OSM type][OSM id]")</strike> />**
|
||||
The following tags have been formally adopted into the namespace. They are fully documented in the XMLNS document located [here](docs/1.0.md). Please see that file for
|
||||
full implementation details.
|
||||
|
||||
_Because of its complexity, the location tag is [currently being discussed over here](https://github.com/Podcastindex-org/podcast-namespace/issues/138). The top message contains the current proposal._
|
||||
|
||||
<br>
|
||||
|
||||
- **\<podcast:season title="[title of season]">**[(int)]**\</podcast:season>**
|
||||
|
||||
Item
|
||||
|
||||
(optional | single)
|
||||
|
||||
This element allows for identifying which episodes in a podcast are part of a "season", and allowing that season to have a title associate with it. The element's value is an integer identifying the season number.
|
||||
|
||||
All attributes are optional.
|
||||
|
||||
<br>
|
||||
|
||||
- **\<podcast:id platform="[service slug]" id="[platform id]" url="[link to the podcast page on the service]" />**
|
||||
|
||||
Channel
|
||||
|
||||
(optional | multiple)
|
||||
|
||||
See "[IDs](#user-content-ids)" in this document for an explanation.
|
||||
|
||||
- `platform` (required) This is the service slug of the platform.
|
||||
- `id` (required) This is the unique identifier for this podcast on the respective platform.
|
||||
- `url` (optional) A url to the page for this podcast on the respective platform.
|
||||
|
||||
<br>
|
||||
|
||||
- **\<podcast:social platform="[service slug]" url="[link to social media account]">**[social media handle]**\</podcast:social>**
|
||||
|
||||
Channel or Item
|
||||
|
||||
(optional | multiple)
|
||||
|
||||
This element lists social media accounts for this podcast. The service slugs should be community written into the accompanying serviceslugs.txt file.
|
||||
|
||||
The maximum recommended string length of the node value is 128 characters.
|
||||
- **\<podcast:person>** <br>
|
||||
- **\<podcast:location>** <br>
|
||||
- **\<podcast:season>** <br>
|
||||
- **\<podcast:episode>** <br>
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
### <u>Phase 3 (Open)</u>
|
||||
### <u>Phase 3 (Open - Closes 6/1/21)</u>
|
||||
|
||||
- **\<podcast:category>**[category Name]**\</podcast:category>**
|
||||
|
||||
Channel
|
||||
|
||||
(optional | multiple)
|
||||
|
||||
See "Categories" in this document for an explanation. There can be up to a total of 9 categories defined.
|
||||
|
||||
There can be a maximum of 9 category elements defined in a feed. Any number greater than that should be discarded.
|
||||
|
||||
Category names are defined in the accompanying "categories.json" file in this repository. They should be referenced in the element by their textual name.
|
||||
The characters can be in any case. This list of categories aims to replicate the current standard but also eliminate as much as possible compound, heirarchical
|
||||
naming and the use of ampersands. Thus, "Health & Fitness" becomes "Health" and "Fitness" as two distinct categories. And, "Religion & Spirituality" becomes
|
||||
two separate categories. Again, they are different things that don't always go together. Splitting them allows for more flexible combinations. And, avoiding
|
||||
ampersands makes xml encoding errors less likely.
|
||||
The following tags should be considered purely as work in progress proposals. They should not be relied upon or implemented except for testing purposes and experimentation.
|
||||
|
||||
<br>
|
||||
|
||||
- **\<podcast:contentRating>**[rating letter]**\</podcast:contentRating>**
|
||||
|
||||
Channel or Item
|
||||
|
||||
(optional | single)
|
||||
|
||||
Specifies the generally accepted rating letter of G, PG, PG-13, R or X. Or, perhaps an age rating system like all, 14, 19, adult. Needs discussion.
|
||||
### **\<podcast:trailer>** - <small>[Finalized](https://github.com/Podcastindex-org/podcast-namespace/issues/84)</small>
|
||||
|
||||
<br>
|
||||
|
||||
- **\<podcast:previousUrl>**[url this feed was imported from]**\</podcast:previousUrl>**
|
||||
<b>
|
||||
|
||||
Channel
|
||||
```xml
|
||||
<podcast:trailer
|
||||
url="[uri of audio/video file(string)]"
|
||||
length="[file size in bytes(number)]"
|
||||
type="[mime type(string)]"
|
||||
pubdate="[date of release(RFC 2822)]"
|
||||
season="[season number(number)]"
|
||||
>
|
||||
[Title of Trailer(string)]
|
||||
</podcast:trailer>
|
||||
```
|
||||
|
||||
(optional | multiple)
|
||||
</b>
|
||||
|
||||
Lists the previous url of this feed before it was imported. Any time a feed is moved, an additional **\<podcast:previousUrl>** element
|
||||
should be added to the channel, to create a paper trail of all the previous urls this feed has lived at. This way, aggregators can easily deduplicate their feed lists.
|
||||
Channel
|
||||
|
||||
(optional | multiple)
|
||||
|
||||
This element is used to define the location of an audio or video file to be used as a trailer for the entire podcast or a specific season. There can be more than one trailer present in the channel of the
|
||||
feed. If there is more than one present, the most recent one (according to it's `pubdate`) should be chosen as the preview by default within podcast apps. If the `season` attribute is present, it must be a number that matches
|
||||
the format of the `<podcast:season>` tag. So, for a podcast that has 3 published seasons, a new `<podcast:trailer season="4">` tag can be put in the channel to later be matched up with a `<podcast:season>4<podcast:season>`
|
||||
tag when it's published within a new `<item>`.
|
||||
|
||||
This element is basically just like an `<enclosure>` with the extra `pubdate` and `season` attributes added.
|
||||
|
||||
- `url` (required) This is a url that points to the audio or video file to be played.
|
||||
- `pubdate` (required) The date the trailer was published.
|
||||
- `length` (recommended) The length of the file in bytes.
|
||||
- `type` (recommended) The mime type of the file.
|
||||
- `season` (optional) If this attribute is present it specifies that this trailer is for a particular season number.
|
||||
|
||||
Example:
|
||||
```xml
|
||||
<podcast:trailer pubdate="Thu, 01 Apr 2021 08:00:00 EST" url="https://example.org/trailers/teaser" length="12345678" type="audio/mp3">Coming April 1st, 2021</podcast:trailer>
|
||||
```
|
||||
|
||||
Example with Season Linkage:
|
||||
```xml
|
||||
<podcast:trailer pubdate="Thu, 01 Apr 2021 08:00:00 EST" url="https://example.org/trailers/season4teaser" length="12345678" type="video/mp4" season="4">Season 4: Race for the Whitehouse</podcast:trailer>
|
||||
|
||||
(later matches with)
|
||||
|
||||
<podcast:season name="Race for the Whitehouse">4</podcast:season>
|
||||
```
|
||||
|
||||
<br>
|
||||
|
||||
- **\<podcast:alternateEnclosure url="[url of media asset]" type="[mime type]" length="[(int)]" bitrate="[(float)]" title="[(string)]" rel="[(string)]" />**
|
||||
|
||||
Channel (optional | single)
|
||||
|
||||
Item (optional | multiple)
|
||||
|
||||
This element is meant to provide alternate versions of an enclosure, such as low or high bitrate, or alternate formats or alternate uri schemes, like IPFS or live streaming.
|
||||
There may be multiple alternateEnclosure elements in an item, but there must be no more than one in a channel. The presence of this element at the channel level would be
|
||||
useful for adding a video/audio trailer or intro media that introduces the listener to the podcast. For instance, in a podcast of an audiobook, this could be the book's
|
||||
introduction or preface. The alternateEnclosure element always refers to an "alternate" media version. The standard RSS enclosure element is always the default media to be played.
|
||||
|
||||
An `<enclosure>` tag must be present along with this tag within the item.
|
||||
|
||||
- `url` (required) This is the url to the media asset.
|
||||
- `type` (required) Mime type of the media asset.
|
||||
- `length` (required) Length of the file in bytes.
|
||||
- `bitrate` (optional) Encoding bitrate of media asset.
|
||||
- `title` (required) Alternate assets need a title since main title will apply to primary asset.
|
||||
- `rel` (optional) Indicates what the purpose of this enclosure is. Like "lowbitrate" for a small file to use over cellular.
|
||||
### **\<podcast:license>** - <small>[Discuss](https://github.com/Podcastindex-org/podcast-namespace/issues/177)</small>
|
||||
|
||||
<br>
|
||||
|
||||
- **\<podcast:indexers>** + **\<podcast:block>[domain, bot or service slug]\</podcast:block>**
|
||||
<b>
|
||||
|
||||
Channel (optional | single)
|
||||
```xml
|
||||
<podcast:license
|
||||
url="[https://urlofdetailledlicense]"
|
||||
>
|
||||
[license slug(string)]
|
||||
</podcast:license>
|
||||
```
|
||||
|
||||
The "indexers" element is meant as a container for one or more `<podcast:block>` elements which send a signal to podcast aggregators whether they are allowed to pull and parse
|
||||
this feed. If the aggregator is listed as blocked, it should take that as a signal by the feed owner to not index/aggregate this feed.
|
||||
</b>
|
||||
|
||||
*Note: this element needs a lot more discussion and work. This is just a placeholder for discussion.*
|
||||
Channel or Item
|
||||
|
||||
(optional | single)
|
||||
|
||||
This element defines the license that is applied to the audio/video content of the episode or the audio/video of the podcast as a whole. The node value
|
||||
should be a lower-cased reference to a license "identifier" defined in the [SPDX License List](https://spdx.org/licenses/) file.
|
||||
|
||||
- `url` (optional) This is a url that points to the full license details for this license.
|
||||
|
||||
Example:
|
||||
```xml
|
||||
<podcast:license url="https://creativecommons.org/licenses/by/4.0/">cc-by-4.0</podcast:license>
|
||||
```
|
||||
|
||||
<br>
|
||||
|
||||
- **\<podcast:images srcset="[url to image] [pixelwidth(int)]w,
|
||||
[url to image] [pixelwidth(int)]w,
|
||||
[url to image] [pixelwidth(int)]w,
|
||||
[url to image] [pixelwidth(int)]w" />**
|
||||
|
||||
Channel or Item
|
||||
|
||||
(optional | single)
|
||||
|
||||
This points to a group of images, separated by commas - each with a pixel width declared after them. It is highly recommended that the images referenced
|
||||
be square (1:1 ratio), as this is the industry standard for podcast album art, and what podcast apps expect to work with. The srcset attribute is designed
|
||||
to work like the ```srcset``` attribute in the HTML5 specification. Suggested widths are 1500px, 600px, 300px and 150px. See the example feed in this
|
||||
repo for an example of how this looks in practice.
|
||||
|
||||
All attributes are required.
|
||||
### **\<podcast:recommendations>** - <small>[Discuss](https://github.com/Podcastindex-org/podcast-namespace/issues/205)</small>
|
||||
|
||||
<br>
|
||||
|
||||
- **\<podcast:contact type="[feedback or advertising or abuse]">**[email address or url]**\</podcast:contact>**
|
||||
<b>
|
||||
|
||||
Channel
|
||||
```xml
|
||||
<podcast:recommendations
|
||||
url="[url to json file(string)]"
|
||||
type="application/json"
|
||||
language="[language code(string)]"
|
||||
>
|
||||
[optional comments(string)]
|
||||
</podcast:recommendations>
|
||||
```
|
||||
|
||||
(optional | multiple)
|
||||
</b>
|
||||
|
||||
This element allows for listing different contact methods for the podcast owner. This could be for general feedback, advertising inquiries, abuse reports, etc. Only one element of each "type"
|
||||
is allowed.
|
||||
Channel or Item
|
||||
|
||||
All attributes are required.
|
||||
(optional | multiple)
|
||||
|
||||
This element allows a podcaster (or third party, with podcater permission) to specify a list of recommended content for a podcast or an episode. The recommended content can be a
|
||||
web page, a podcast, a podcast episode or a soundbite, so that listeners can eventually subscribe to a podcast, add an episode to playlist, add a soundbite to playlist, etc.
|
||||
|
||||
This is a complex tag. The full documentation is [here](https://github.com/Podcastindex-org/podcast-namespace/blob/main/proposal-docs/recommendations/recommendations.md). Please
|
||||
read that document to understand and comment on this proposal.
|
||||
|
||||
Example:
|
||||
```xml
|
||||
<podcast:recommendations url="https://domain.tld/recommendation?guid=1234" type="application/json" />
|
||||
```
|
||||
|
||||
Example:
|
||||
```xml
|
||||
<podcast:recommendations url="https://domain.tld/recommendation?guid=1234" type="application/json" language="en">Some other cool podcasts</podcast:recommendations>
|
||||
```
|
||||
|
||||
<br>
|
||||
|
||||
- **\<podcast:value type="[lightning]" method="[keysend]" suggested="[number of bitcoin(float)]">**[one or more "valueRecipient" elements]**\</podcast:value>**
|
||||
### **\<podcast:alternateEnclosure>** - <small>[Discuss](https://github.com/Podcastindex-org/podcast-namespace/issues/174#issue-798007719)</small>
|
||||
<br>
|
||||
|
||||
Channel
|
||||
|
||||
(optional | single)
|
||||
<b>
|
||||
|
||||
This element defines the payment "model". One or more `<podcast:valueRecipient>` tags must be contained within this element to instruct where to send the payments
|
||||
within this defined model.
|
||||
```xml
|
||||
<podcast:alternateEnclosure
|
||||
type="[mime type]"
|
||||
length="[(int)]"
|
||||
bitrate="[(float)]"
|
||||
height="[(int)]"
|
||||
lang="[(string)]"
|
||||
title="[(string)]"
|
||||
rel="[(string)]"
|
||||
codecs="[(string)]"
|
||||
default="[(boolean)]"
|
||||
>
|
||||
[one or more <podcast:source> elements]
|
||||
</podcast:alternateEnclosure>
|
||||
```
|
||||
|
||||
- `type` (required) What type of system will be receiving the payments. Currently only "lightning" is supported.
|
||||
- `method` (required) The protocol to use to send the payments. Currently only "keysend" is supported.
|
||||
- `suggested` (required) The amount to send per minute of episode play time, defined in bitcoin (float, 0.00000005000 is 5sat/min).
|
||||
</b>
|
||||
|
||||
- **\<podcast:valueRecipient name="[name of recipient(string)]" type="[node]" address="[public key of bitcoin/lightning node(string)]" split="[percentage(int)]" />**
|
||||
Item
|
||||
|
||||
Channel
|
||||
(optional | multiple)
|
||||
|
||||
(required | multiple)
|
||||
This element defines a media file. One or more <podcast:source> tags must be contained within this element to list available methods to obtain the file. This is meant to provide different
|
||||
versions of a media file -- such as low or high bitrate, alternate formats (different codecs or video), alternate URI schemes (IPFS or live streaming), or alternate download types not
|
||||
indicated by the URI and type (like torrents).
|
||||
|
||||
- `name` (optional) A friendly name to identify the receipient.
|
||||
- `type` (required) The type of destination this is. Currently, only "node" is supported.
|
||||
- `address` (required) The address of the digital wallet or node that will receive payments.
|
||||
- `split` (required) Defines a percentage that this payment destination represents. Payments will be sent to each destination in the "value" block, dividing up by this percentage.
|
||||
This is a complex tag. The full documentation is [here](https://github.com/Podcastindex-org/podcast-namespace/blob/main/proposal-docs/alternateEnclosure/alternateEnclosure.md). Please
|
||||
read that document to understand and comment on this proposal.
|
||||
|
||||
Example:
|
||||
```xml
|
||||
<enclosure url="https://best-podcast.com/file-0.mp3" length="43200000" type="audio/mpeg" />
|
||||
|
||||
<podcast:alternateEnclosure type="audio/mpeg" length="43200000" bitrate="128000" default="true" title="Standard">
|
||||
<podcast:source uri="https://best-podcast.com/file-0.mp3" />
|
||||
<podcast:source uri="ipfs://someRandomMpegFile" />
|
||||
</podcast:alternateEnclosure>
|
||||
|
||||
<podcast:alternateEnclosure type="audio/opus" length="32400000" bitrate="96000" title="High quality">
|
||||
<podcast:source uri="https://best-podcast.com/file-high.opus" />
|
||||
<podcast:source uri="ipfs://someRandomHighBitrateOpusFile" />
|
||||
</podcast:alternateEnclosure>
|
||||
|
||||
<podcast:alternateEnclosure type="audio/aac" length="54000000" bitrate="160000" title="High quality AAC">
|
||||
<podcast:source uri="https://best-podcast.com/file-proprietary.aac" />
|
||||
<podcast:source uri="ipfs://someRandomProprietaryAACFile" />
|
||||
</podcast:alternateEnclosure>
|
||||
|
||||
<podcast:alternateEnclosure type="audio/opus" length="5400000" bitrate="16000" title="Low bandwidth">
|
||||
<podcast:source uri="https://best-podcast.com/file-low.opus" />
|
||||
<podcast:source uri="ipfs://someRandomLowBitrateOpusFile" />
|
||||
</podcast:alternateEnclosure>
|
||||
```
|
||||
|
||||
Example:
|
||||
```xml
|
||||
<podcast:alternateEnclosure type="audio/mpeg" length="2490970" bitrate="160707.74">
|
||||
<podcast:source uri="https://best-podcast.com/file-0.mp3" />
|
||||
<podcast:source uri="ipfs://QmdwGqd3d2gFPGeJNLLCshdiPert45fMu84552Y4XHTy4y" />
|
||||
<podcast:source uri="https://best-podcast.com/file-0.torrent" contentType="application/x-bittorrent" />
|
||||
<podcast:source uri="http://somerandom.onion/file-0.mp3" />
|
||||
</podcast:alternateEnclosure>
|
||||
|
||||
<podcast:alternateEnclosure type="video/mp4" length="10562995" bitrate="681483.55" height="1080">
|
||||
<podcast:source uri="https://best-podcast.com/file-1080.mp4" />
|
||||
<podcast:source uri="ipfs://QmfQKJcp2xdByEt8mzWr1AJUhwvb9rdWPoacvdq2roDhgh" />
|
||||
<podcast:source uri="https://best-podcast.com/file-1080.torrent" contentType="application/x-bittorrent" />
|
||||
<podcast:source uri="http://somrandom.onion/file-1080.mp4" />
|
||||
</podcast:alternateEnclosure>
|
||||
|
||||
<podcast:alternateEnclosure type="video/mp4" length="7924786" bitrate="511276.52" height="720">
|
||||
<podcast:source uri="https://best-podcast.com/file-720.mp4" />
|
||||
<podcast:source uri="ipfs://QmX33FYehk6ckGQ6g1D9D3FqZPix5JpKstKQKbaS8quUFb" />
|
||||
<podcast:source uri="https://best-podcast.com/file-720.torrent" contentType="application/x-bittorrent" />
|
||||
<podcast:source uri="http://somrandom.onion/file-720.mp4" />
|
||||
</podcast:alternateEnclosure>
|
||||
```
|
||||
|
||||
|
||||
<br><br>
|
||||
|
||||
|
||||
## Other Proposals
|
||||
|
||||
A list of the current proposed tags can be found in the issues section [here](https://github.com/Podcastindex-org/podcast-namespace/labels/proposal).
|
||||
|
||||
<br><br>
|
||||
|
||||
|
||||
## Verification for Importing and Transferring
|
||||
|
||||
|
@ -323,7 +376,7 @@ contacted and subsequently changes the value of the element to "no".
|
|||
|
||||
## IDs
|
||||
|
||||
Their can be multiple **\<podcast:id>** elements to indicate a listing on multiple platforms, directories, hosts, apps and services. The "platform" attribute shall be a slug
|
||||
There can be multiple **\<podcast:id>** elements to indicate a listing on multiple platforms, directories, hosts, apps and services. The "platform" attribute shall be a slug
|
||||
representing the platform, directory, host, app or service. The slugs will look like this:
|
||||
|
||||
- blubrry
|
||||
|
@ -340,3 +393,8 @@ representing the platform, directory, host, app or service. The slugs will look
|
|||
- overcast
|
||||
|
||||
More should be added by the community as needed. This is just a starter list. The full list is [here](serviceslugs.txt).
|
||||
|
||||
|
||||
## Badges and Media
|
||||
|
||||

|
||||
|
|
|
@ -427,6 +427,26 @@
|
|||
{
|
||||
"id": 107,
|
||||
"name": "Reviews"
|
||||
},
|
||||
{
|
||||
"id": 108,
|
||||
"name": "Climate"
|
||||
},
|
||||
{
|
||||
"id": 109,
|
||||
"name": "Weather"
|
||||
},
|
||||
{
|
||||
"id": 110,
|
||||
"name": "Tabletop"
|
||||
},
|
||||
{
|
||||
"id": 111,
|
||||
"name": "Role-Playing"
|
||||
},
|
||||
{
|
||||
"id": 112,
|
||||
"name": "Cryptocurrency"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "1.0.0",
|
||||
"version": "1.2.0",
|
||||
"chapters":
|
||||
[
|
||||
{
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "1.0.0",
|
||||
"version": "1.2.0",
|
||||
"author": "John Doe",
|
||||
"title": "Episode 7 - Making Progress",
|
||||
"podcastName": "John's Awesome Podcast",
|
||||
|
@ -37,8 +37,12 @@
|
|||
},
|
||||
{
|
||||
"startTime": 4826,
|
||||
"img": "https://example.com/images/bostonharbor.jpg",
|
||||
"toc": false
|
||||
"img": "https://example.com/images/parisfrance.jpg",
|
||||
"toc": false,
|
||||
"location": {
|
||||
"name": "Eiffel Tower, Paris",
|
||||
"geo": "geo:42.3417649,-70.9661596"
|
||||
}
|
||||
},
|
||||
{
|
||||
"startTime": 5510,
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
## JSON Chapters Format (v1.1.0)
|
||||
## JSON Chapters Format
|
||||
<small>Version 1.2 - Updated on 2021.04.15</small>
|
||||
|
||||
<br><br>
|
||||
|
||||
This is the initial spec for a json chapters format that can be referenced in an RSS feed using the `<podcast:chapters>` tag of
|
||||
the "podcast" namespace. This file can reside on any publicly accessible url. See the podcast namespace documentation for
|
||||
details on the format of the tag.
|
||||
|
||||
This type of file should be served with a Content-type of 'application/audio-chapters+json'. Chapter order is assumed to be
|
||||
This type of file should be served with a Content-type of 'application/json+chapters'. Chapter order is assumed to be
|
||||
in ascending order based on the `startTime`.
|
||||
|
||||
<br>
|
||||
|
@ -23,14 +26,15 @@ The chapters object is a simple JSON object with only 2 required properties:
|
|||
- `podcastName` (optional - string) The name of the podcast this episode belongs to.
|
||||
- `description` (optional - string) A description of this episode.
|
||||
- `fileName` (optional - string) The name of the audio file these chapters apply to.
|
||||
- `waypoints` (optional - boolean) If this property is present, the locations in a chapter object should be displayed with a route between locations.
|
||||
|
||||
<br>
|
||||
|
||||
## "Chapter" Objects
|
||||
## The "Chapter" Object
|
||||
|
||||
The "chapter" object takes this basic form:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"startTime": 94,
|
||||
"title": "Donation Segment"
|
||||
|
@ -41,6 +45,8 @@ There is only one required attribute:
|
|||
|
||||
- `startTime` (required - float) The starting time of the chapter, expressed in seconds with float precision for fractions of a second.
|
||||
|
||||
<br>
|
||||
|
||||
#### Optional Attributes:
|
||||
|
||||
- `title` (optional - string) The title of this chapter.
|
||||
|
@ -48,6 +54,32 @@ There is only one required attribute:
|
|||
- `url` (optional - string) The url of a web page or supporting document that's related to the topic of this chapter.
|
||||
- `toc` (optional - boolean) If this property is present and set to false, this chapter should not display visibly to the user in either the table of contents or as a jump-to point in the user interface. It should be considered a "silent" chapter marker for the purpose of meta-data only. If this property is set to `true` or not present at all, this should be considered a normal chapter for display to the user. The name "toc" is short for "table of contents".
|
||||
- `endTime` (optional - float) The end time of the chapter, expressed in seconds with float precision for fractions of a second.
|
||||
- `location` (optional - object) This object defines an optional location that is tied to this chapter. It follows the structure of the [location](https://github.com/Podcastindex-org/podcast-namespace/blob/main/location/location.md) tag in the XML namespace.
|
||||
|
||||
<br>
|
||||
|
||||
## The Location Object:
|
||||
|
||||
The "location" object takes this basic form:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "Eiffel Tower, Paris",
|
||||
"geo": "geo:48.858093,2.294694"
|
||||
}
|
||||
```
|
||||
|
||||
It is intended to provide for rich location-based experiences tied to a point of time within a podcast episode, or other feed based media. For example, a "walking tour" may include latitude and longitude waypoints along side the image within chapters markers as someone listens to the tour podcast. This
|
||||
would allow apps to show a map with markers within the UI as the tour progresses. Or, perhaps a "History of the Middle East" podcast might expose a map to highlight where certain landmarks are when being discussed.
|
||||
|
||||
There are two required attributes:
|
||||
|
||||
- `name` (required - string) A human readable place name.
|
||||
- `geo` (required - string) A simple latitude,longitude given in geoURI format, conformant to [RFC 5870](https://tools.ietf.org/html/rfc5870).
|
||||
|
||||
#### Optional Attributes:
|
||||
|
||||
- `osm` (optional - string) An OpenStreetMaps query string. Please see the [location](https://github.com/Podcastindex-org/podcast-namespace/blob/main/location/location.md) XML tag specification for full details.
|
||||
|
||||
<br>
|
||||
|
||||
|
@ -55,9 +87,9 @@ There is only one required attribute:
|
|||
|
||||
Here is what a very basic chapters file may look like:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"version": "1.1.0",
|
||||
"version": "1.2.0",
|
||||
"chapters":
|
||||
[
|
||||
{
|
||||
|
@ -112,9 +144,9 @@ In this more robust example, we can bring in more meta-data about the podcast ep
|
|||
context for something like an embedded HTML5 player on a website. Also there is an example of a "silent" chapter that has no presence in the visible
|
||||
chapter list, but allows for different artwork to be shown:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"version": "1.1.0",
|
||||
"version": "1.2.0",
|
||||
"author": "John Doe",
|
||||
"title": "Episode 7 - Making Progress",
|
||||
"podcastName": "John's Awesome Podcast",
|
||||
|
@ -147,8 +179,12 @@ chapter list, but allows for different artwork to be shown:
|
|||
},
|
||||
{
|
||||
"startTime": 4826,
|
||||
"img": "https://example.com/images/bostonharbor.jpg",
|
||||
"toc": false
|
||||
"img": "https://example.com/images/parisfrance.jpg",
|
||||
"toc": false,
|
||||
"location": {
|
||||
"name": "Eiffel Tower, Paris",
|
||||
"geo": "geo:42.3417649,-70.9661596"
|
||||
}
|
||||
},
|
||||
{
|
||||
"startTime": 5510,
|
||||
|
|
|
@ -24,4 +24,10 @@ Justin Jackson
|
|||
Tyler Lacy
|
||||
@brianoflondon
|
||||
Angelo at Blubrry
|
||||
Stacey Goers
|
||||
Stuart Moore
|
||||
@PofMagicfingers
|
||||
@Bigaston
|
||||
Alecks Gates
|
||||
Dave Keeshan
|
||||
... add your name as you contribute!
|
||||
|
|
166
docs/1.0.md
166
docs/1.0.md
|
@ -2,8 +2,12 @@
|
|||
|
||||
A wholistic RSS namespace for podcasting that is meant to synthesize the fragmented world of podcast namespaces. As elements are canonized, they will be added to this document so developers can begin implementation. The specifications below are considered locked and the team will prioritize backward compatibility. We are operating under the [Rules for Standards-Makers](http://scripting.com/2017/05/09/rulesForStandardsmakers.html).
|
||||
|
||||
If your application generates RSS feeds and you implement one or more elements below, you will need to link this DTD in your XML.
|
||||
`<rss version="2.0" xmlns:podcast="https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md">`
|
||||
The namespace for this extension is `https://podcastindex.org/namespace/1.0`. Clients which recognize this namespace must also recognize `https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md` as identical. The suggested tag prefix for use in XML is `podcast`, but clients should support alternate prefixes for this namespace. If your application generates RSS feeds and you implement one or more elements below, you will need to link this DTD in your XML:
|
||||
|
||||
```xml
|
||||
<rss version="2.0" xmlns:podcast="https://podcastindex.org/namespace/1.0">
|
||||
```
|
||||
|
||||
# Podcast Tags
|
||||
Each tag below exists in the podcast namespace within the specified parent. All attributes are required unless explicitly specified as optional.
|
||||
|
||||
|
@ -11,6 +15,7 @@ Anywhere the url of a hyper-text based resource is specified, it must be given a
|
|||
|
||||
<br><br>
|
||||
|
||||
|
||||
## Transcript
|
||||
`<podcast:transcript>`
|
||||
This tag is used to link to a transcript or closed captions file. Multiple tags can be present for multiple transcript formats.
|
||||
|
@ -18,10 +23,13 @@ This tag is used to link to a transcript or closed captions file. Multiple tags
|
|||
#### Parent
|
||||
`<item>`
|
||||
|
||||
#### Count
|
||||
Multiple
|
||||
|
||||
#### Attributes
|
||||
- **url:** URL of the podcast transcript.
|
||||
|
||||
- **type:** Mime type of the file such as `text/plain`, `text/html`, `application/srt`, `application/json`
|
||||
- **type:** Mime type of the file such as `text/plain`, `text/html`, `application/srt`, `text/vtt`, `application/json`
|
||||
|
||||
- **language (optional):** The language of the linked transcript. If there is no language attribute given, the linked file is assumed to be the same language that is specified by the RSS `<language>` element.
|
||||
|
||||
|
@ -34,19 +42,23 @@ This tag is used to link to a transcript or closed captions file. Multiple tags
|
|||
|
||||
`<podcast:transcript url="https://example.com/episode1/transcript.json" type="application/json" language="es" rel="captions" />`
|
||||
|
||||
`<podcast:transcript url="https://example.com/episode1/transcript.vtt" type="text/vtt" />`
|
||||
|
||||
Detailed file format information and example files are [here](../transcripts/transcripts.md).
|
||||
|
||||
<br><br>
|
||||
|
||||
|
||||
## Locked
|
||||
`<podcast:locked>`
|
||||
This tag may be set to `yes` or `no`. The purpose is to tell other podcast platforms whether they are allowed to import this feed. A value of `yes` means that any attempt to import this feed into a new platform should be rejected. It is expected
|
||||
that podcast hosting providers will enable a toggle in their GUI to allow their users to turn feed transfer lock on or off. When importing a feed, if the hosting provider has already verified the owner="" email address on their own system, and the
|
||||
email matches what is listed in this tag, it is safe to import the feed.
|
||||
This tag may be set to `yes` or `no`. The purpose is to tell other podcast platforms whether they are allowed to import this feed. A value of `yes` means that any attempt to import this feed into a new platform should be rejected.
|
||||
|
||||
#### Parent
|
||||
`<channel>`
|
||||
|
||||
#### Count
|
||||
Single
|
||||
|
||||
#### Attributes
|
||||
- **owner:** The owner attribute is an email address that can be used to verify ownership of this feed during move and import operations. This could be a public email or a virtual email address at the hosting provider that redirects to the owner's true email address. This is a critical element, and it's expected that podcast hosting providers (if not providing virtual addresses) will allow setting this element's value in their GUI with an emphasis to their users of how important it is to have this be a valid, working email address.
|
||||
|
||||
|
@ -57,6 +69,7 @@ email matches what is listed in this tag, it is safe to import the feed.
|
|||
|
||||
<br><br>
|
||||
|
||||
|
||||
## Funding
|
||||
`<podcast:funding>`
|
||||
This tag lists possible donation/funding links for the podcast. The content of the tag is the recommended string to be used with the link.
|
||||
|
@ -64,6 +77,9 @@ This tag lists possible donation/funding links for the podcast. The content of t
|
|||
#### Parent
|
||||
`<channel>`
|
||||
|
||||
#### Count
|
||||
Multiple
|
||||
|
||||
#### Attributes
|
||||
- **url:** The URL to be followed to fund the podcast.
|
||||
|
||||
|
@ -76,6 +92,7 @@ Please do not exceed `128 characters` for the node value or it may be truncated
|
|||
|
||||
<br><br>
|
||||
|
||||
|
||||
## Chapters
|
||||
`<podcast:chapters>`
|
||||
Links to an external file (see example file) containing chapter data for the episode. See the [jsonChapters.md](https://github.com/Podcastindex-org/podcast-namespace/blob/main/chapters/jsonChapters.md) file for a description of the chapter file syntax. And, see the [example.json](https://github.com/Podcastindex-org/podcast-namespace/blob/main/chapters/example.json) example file for a real world example.
|
||||
|
@ -83,6 +100,9 @@ Links to an external file (see example file) containing chapter data for the epi
|
|||
#### Parent
|
||||
`<item>`
|
||||
|
||||
#### Count
|
||||
Single
|
||||
|
||||
#### Attributes
|
||||
- **url:** The URL where the chapters file is located.
|
||||
- **type:** Mime type of file - JSON prefered, 'application/json+chapters'.
|
||||
|
@ -92,6 +112,7 @@ Links to an external file (see example file) containing chapter data for the epi
|
|||
|
||||
<br><br>
|
||||
|
||||
|
||||
## Soundbite
|
||||
`<podcast:soundbite>`
|
||||
Points to one or more soundbites within a podcast episode. The intended use includes episodes previews, discoverability, audiogram generation, episode highlights, etc. It should be assumed that the audio/video source of the soundbite is the audio/video given in the item's `<enclosure>` element.
|
||||
|
@ -99,6 +120,9 @@ Points to one or more soundbites within a podcast episode. The intended use incl
|
|||
#### Parent
|
||||
`<item>`
|
||||
|
||||
#### Count
|
||||
Multiple
|
||||
|
||||
#### Attributes
|
||||
- **startTime:** The time where the soundbite begins
|
||||
- **duration:** How long is the soundbite (recommended between 15 and 120 seconds)
|
||||
|
@ -112,3 +136,133 @@ Points to one or more soundbites within a podcast episode. The intended use incl
|
|||
Please do not exceed `128 characters` for the node value or it may be truncated by aggregators.
|
||||
|
||||
<br><br>
|
||||
|
||||
|
||||
## Person
|
||||
`<podcast:person>`
|
||||
This element specifies a person of interest to the podcast. It is primarily intended to identify people like hosts, co-hosts and guests. Although, it is flexible enough to allow fuller credits to be given using the roles and groups that are listed in the [Podcast Taxonomy Project](https://podcasttaxonomy.com/)
|
||||
|
||||
#### Parent
|
||||
`<item>` or `<channel>`
|
||||
|
||||
#### Count
|
||||
Multiple
|
||||
|
||||
#### Node value
|
||||
This is the full name or alias of the person. This value cannot be blank.
|
||||
|
||||
#### Attributes
|
||||
- **role:** (optional) Used to identify what role the person serves on the show or episode. This should be a reference to an official role within the Podcast Taxonomy Project list (see below). If `role` is missing then "host" is assumed.
|
||||
- **group:** (optional) This should be a reference to an official group within the Podcast Taxonomy Project list. If `group` is not present, then "cast" is assumed.
|
||||
- **img:** (optional) This is the url of a picture or avatar of the person.
|
||||
- **href:** (optional) The url to a relevant resource of information about the person, such as a homepage or third-party profile platform. Please see the [example feed](https://github.com/Podcastindex-org/podcast-namespace/blob/main/example.xml) for possible choices of what to use here.
|
||||
|
||||
The `role` and `group` attributes are case-insensitive. So, "Host" is the same as "host", and "Cover Art Designer" is the same as "cover art designer".
|
||||
|
||||
The full taxonomy list is [here](https://github.com/Podcastindex-org/podcast-namespace/blob/main/taxonomy.json) as a json file.
|
||||
|
||||
Please do not exceed `128 characters` for the node value or they may be truncated by aggregators.
|
||||
|
||||
#### Examples
|
||||
`<podcast:person href="https://example.com/johnsmith/blog" img="http://example.com/images/johnsmith.jpg">John Smith</podcast:person>`
|
||||
|
||||
`<podcast:person role="guest" href="https://www.imdb.com/name/nm0427852888/" img="http://example.com/images/janedoe.jpg">Jane Doe</podcast:person>`
|
||||
|
||||
`<podcast:person role="guest" href="https://www.wikipedia/alicebrown" img="http://example.com/images/alicebrown.jpg">Alice Brown</podcast:person>`
|
||||
|
||||
`<podcast:person group="writing" role="guest" href="https://www.wikipedia/alicebrown" img="http://example.com/images/alicebrown.jpg">Alice Brown</podcast:person>`
|
||||
|
||||
`<podcast:person group="visuals" role="Cover Art Designer" href="https://example.com/artist/beckysmith">Becky Smith</podcast:person>`
|
||||
|
||||
<br><br>
|
||||
|
||||
|
||||
## Location
|
||||
`<podcast:location>`
|
||||
This tag is intended to describe the location of editorial focus for a podcast's content (i.e. "what place is this podcast about?"). The tag has many use cases and is one of the more complex ones. You are **highly encouraged** to read the full [implementation document](https://github.com/Podcastindex-org/podcast-namespace/blob/main/location/location.md) before starting to code for it.
|
||||
|
||||
#### Parent
|
||||
`<item>` or `<channel>`
|
||||
|
||||
#### Count
|
||||
Single
|
||||
|
||||
#### Node Value
|
||||
This is a free-form string meant to be a human readable location. It may conform to conventional location verbiage (i.e. "Austin, TX"), but it shouldn't be depended on to be parseable in any specific way. This value cannot be blank.
|
||||
|
||||
#### Attributes
|
||||
- **geo:** (recommended) This is a latitude and longitude given in "geo" notation (i.e. "geo:30.2672,97.7431").
|
||||
- **osm:** (recommended) The Open Street Map identifier of this place, given using the OSM notation (i.e. "R113314")
|
||||
|
||||
Please do not exceed `128 characters` for the node value or it may be truncated by aggregators.
|
||||
|
||||
#### Examples
|
||||
`<podcast:location geo="geo:30.2672,97.7431" osm="R113314">Austin, TX</podcast:location>`
|
||||
|
||||
`<podcast:location geo="geo:33.51601,-86.81455" osm="R6930627">Birmingham Civil Rights Museum</podcast:location>`
|
||||
|
||||
`<podcast:location geo="geo:-27.86159,153.3169" osm="W43678282">Dreamworld (Queensland)</podcast:location>`
|
||||
|
||||
Please see the [implementation document](https://github.com/Podcastindex-org/podcast-namespace/blob/main/location/location.md) and the [example feed](https://github.com/Podcastindex-org/podcast-namespace/blob/main/example.xml) for more examples.
|
||||
|
||||
<br><br>
|
||||
|
||||
|
||||
## Season
|
||||
`<podcast:season>`
|
||||
This element allows for identifying which episodes in a podcast are part of a particular "season", with an optional season name attached.
|
||||
|
||||
#### Parent
|
||||
`<item>`
|
||||
|
||||
#### Count
|
||||
Single
|
||||
|
||||
#### Node Value
|
||||
The node value is an integer, and represents the season "number". It is required.
|
||||
|
||||
#### Attributes
|
||||
- **name:** (optional) - This is the "name" of the season. If this attribute is present, applications are free to **not** show the season number to the end user, and may use it simply for chronological sorting and grouping purposes.
|
||||
|
||||
Please do not exceed `128 characters` for the name attribute.
|
||||
|
||||
#### Examples
|
||||
`<podcast:season>5</podcast:season>`
|
||||
|
||||
`<podcast:season name="Race for the Whitehouse 2020">3</podcast:season>`
|
||||
|
||||
`<podcast:season name="Egyptology: The 19th Century">1</podcast:season>`
|
||||
|
||||
`<podcast:season name="The Yearling - Chapter 3">3</podcast:season>`
|
||||
|
||||
<br><br>
|
||||
|
||||
|
||||
## Episode
|
||||
`<podcast:episode>`
|
||||
This element exists largely for compatibility with the `season` tag. But, it also allows for a similar idea to what "name" functions as in that element.
|
||||
|
||||
#### Parent
|
||||
`<item>`
|
||||
|
||||
#### Count
|
||||
Single
|
||||
|
||||
#### Node Value
|
||||
The node value is a decimal number. It is required.
|
||||
|
||||
#### Attributes
|
||||
- **display:** (optional) - If this attribute is present, podcast apps and aggregators are encouraged to show it's value instead of the purely numerical node value. This attribute is a string.
|
||||
|
||||
The episode numbers are decimal, so numbering such as `100.5` is acceptable if there was a special mini-episode published between two other episodes. In that scenario, the number would help with proper chronological sorting, while the `display` attribute could specify an alternate special "number" (a moniker) to display for the episode in a podcast player app UI.
|
||||
|
||||
Please do not exceed `32 characters` for the display attribute.
|
||||
|
||||
#### Examples
|
||||
`<podcast:episode>3</podcast:episode>`
|
||||
|
||||
`<podcast:episode>315.5</podcast:episode>`
|
||||
|
||||
`<podcast:episode display="Ch.3">204</podcast:episode>`
|
||||
|
||||
`<podcast:episode display="Day 5">9</podcast:episode>`
|
||||
|
|
|
@ -12,6 +12,9 @@ For elements that are included in the official [DTD](https://github.com/Podcasti
|
|||
5. [Podcastindex](https://podcastindex.org)
|
||||
6. [Castopod](https://podlibre.org/castopod-supports-chapters-and-transcript-tags/)
|
||||
7. [LehmanCreations Podcast Namespace Wordpress Plugin](https://github.com/Lehmancreations/Podcast-Namespace-Wordpress-Plugin)
|
||||
8. [PodcastGuru](https://twitter.com/podcastguru_app/status/1362902472793223169)
|
||||
9. [Podlove Podcast Publisher](https://github.com/podlove/podlove-publisher/commit/d3ce9d117c57a4c864d982fb5451c3fb6d20bd91)
|
||||
|
||||
|
||||
## Locked `<podcast:locked>`
|
||||
1. [Buzzsprout](https://www.buzzsprout.com/blog/podcast-locking)
|
||||
|
@ -33,6 +36,10 @@ For elements that are included in the official [DTD](https://github.com/Podcasti
|
|||
7. [PodServe.fm](https://www.podserve.fm)
|
||||
8. [Castopod](https://podlibre.org/publish-your-podcast-on-all-platforms/#podcastindex)
|
||||
9. [LehmanCreations Podcast Namespace Wordpress Plugin](https://github.com/Lehmancreations/Podcast-Namespace-Wordpress-Plugin)
|
||||
10. [PodcastGuru](https://twitter.com/podcastguru_app/status/1351911108886589448)
|
||||
11. [Hypercatcher](https://hypercatcher.com)
|
||||
12. [Podlove Podcast Publisher](https://github.com/podlove/podlove-publisher/releases/tag/3.3.1)
|
||||
13. [Podcat](https://twitter.com/podlove_org/status/1363586304643133442)
|
||||
|
||||
## Chapters `<podcast:chapters>`
|
||||
1. [Podcast Chapters](https://chaptersapp.com/faq/jsonExport.html)
|
||||
|
@ -50,3 +57,13 @@ For elements that are included in the official [DTD](https://github.com/Podcasti
|
|||
2. [Podverse](https://twitter.com/Podverse/status/1326072379597053953?s=20)
|
||||
3. [LehmanCreations Podcast Namespace Wordpress Plugin](https://github.com/Lehmancreations/Podcast-Namespace-Wordpress-Plugin)
|
||||
4. [Castopod](https://podlibre.org/castopod-supports-soundbite-tag/)
|
||||
|
||||
## Location `<podcast:location>`
|
||||
1. [Buzzsprout](https://twitter.com/buzzsprout/status/1357020753745633282)
|
||||
2. [Castopod](https://podlibre.org/castopod-supports-the-location-tag/)
|
||||
3. [Podfriend](https://twitter.com/adamcurry/status/1357003546709938181)
|
||||
|
||||
## Person `<podcast:person>`
|
||||
1. [Castopod](https://podlibre.org/castopod-supports-the-person-tag/)
|
||||
2. [Podfriend](https://podcastindex.social/@martin/105466202975036473)
|
||||
3. [Podlove Podcast Publisher](https://github.com/podlove/podlove-publisher/commit/08d52424b359569d795d318163b0c697ef623199)
|
||||
|
|
133
example.xml
133
example.xml
|
@ -1,53 +1,34 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<rss xmlns:podcast="https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
|
||||
<channel>
|
||||
<title>Podcast Feed Template</title>
|
||||
<description>This is a fake show that exists only as an example of the "podcast" namespace.</description>
|
||||
<link>http://podcastindex.org</link>
|
||||
<title>Podcasting 2.0 Namespace Example</title>
|
||||
<description>This is a fake show that exists only as an example of the "podcast" namespace tag usage.</description>
|
||||
<link>http://example.com/podcast</link>
|
||||
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
|
||||
<language>en-US</language>
|
||||
<generator>Freedom Controller</generator>
|
||||
<pubDate>Thu, 08 Oct 2020 18:51:15 +0000</pubDate>
|
||||
<lastBuildDate>Thu, 08 Oct 2020 18:51:15 +0000</lastBuildDate>
|
||||
<managingEditor>dave@podcastindex.org (Dave Jones)</managingEditor>
|
||||
<webMaster>support@podcastindex.org (Tech Support)</webMaster>
|
||||
<pubDate>Fri, 09 Oct 2020 04:30:38 GMT</pubDate>
|
||||
<lastBuildDate>Fri, 09 Oct 2020 04:30:38 GMT</lastBuildDate>
|
||||
<managingEditor>john@example.com (John Doe)</managingEditor>
|
||||
<webMaster>support@example.com (Tech Support)</webMaster>
|
||||
<image>
|
||||
<url>https://example.com/images/pci_avatar-massive.jpg</url>
|
||||
<title>Podcast Feed Template</title>
|
||||
<link>https://podcastindex.org</link>
|
||||
<link>https://example.com/show</link>
|
||||
</image>
|
||||
|
||||
<podcast:locked owner="podcastowner@domain.com">yes</podcast:locked>
|
||||
<podcast:funding url="www.mydomain.com/support">Support the show!</podcast:funding>
|
||||
<podcast:locked owner="podcastowner@example.com">yes</podcast:locked>
|
||||
<podcast:funding url="https://example.com/donate">Support the show!</podcast:funding>
|
||||
|
||||
<itunes:author>Dave Jones</itunes:author>
|
||||
<podcast:location geo="geo:30.2672,97.7431" osm="R113314">Austin, TX</podcast:location>
|
||||
|
||||
<itunes:author>John Doe</itunes:author>
|
||||
<itunes:explicit>no</itunes:explicit>
|
||||
<itunes:type>episodic</itunes:type>
|
||||
<itunes:category text="News"/>
|
||||
<itunes:category text="Technology"/>
|
||||
|
||||
<itunes:image>https://example.com/images/pci_avatar-massive.jpg</itunes:image>
|
||||
<podcast:images srcset="https://example.com/images/pci_avatar-massive.jpg 1500w,
|
||||
https://example.com/images/pci_avatar-middle.jpg 600w,
|
||||
https://example.com/images/pci_avatar-small.jpg 300w,
|
||||
https://example.com/images/pci_avatar-tiny.jpg 150w" />
|
||||
|
||||
<podcast:category>News</podcast:category>
|
||||
<podcast:category>Commentary</podcast:category>
|
||||
<podcast:category>Technology</podcast:category>
|
||||
|
||||
<podcast:contact type="feedback" method="link">https://podcastindex.social</podcast:contact>
|
||||
<podcast:contact type="advertising" method="email">adbuy@podcastindex.org</podcast:contact>
|
||||
<podcast:contact type="abuse" method="email">abuse@podcastindex.org</podcast:contact>
|
||||
|
||||
<podcast:location latlon="39.9622,83.0007" osmid="R182706">US|Columbus, OH</podcast:location>
|
||||
|
||||
<podcast:previousUrl>https://yeoldhostingprovider.com/podcast479923</podcast:previousUrl>
|
||||
<podcast:previousUrl>https://myveryfirstpodcasthost.com/show251.xml</podcast:previousUrl>
|
||||
|
||||
<podcast:id platform="podcastindex" id="920666" />
|
||||
<podcast:id platform="apple" id="23409402344" url="https://podcasts.apple.com/us/shows/id23409402344" />
|
||||
<podcast:alternateEnclosure type="video/mp4" length="11540076" bitrate="512" title="Trailer">https://example.com/pc20trailer.mp4</podcast:alternateEnclosure>
|
||||
|
||||
<podcast:value type="lightning" method="keysend" suggested="0.00000005000">
|
||||
<podcast:valueRecipient name="podcaster" type="node" address="036557ea56b3b86f08be31bcd2557cae8021b0e3a9413f0c0e52625c6696972e57" split="99" />
|
||||
|
@ -56,70 +37,74 @@
|
|||
|
||||
<item>
|
||||
<title>Episode 3 - The Future</title>
|
||||
<description><p>Everything at this level will become the rss description text for this item.</p></description>
|
||||
<link>https://podcastindex.org/ep0003</link>
|
||||
<guid isPermaLink="true">http://podcastindex.org/ep0003</guid>
|
||||
<description><p>A look into the future of podcasting and how we get to Podcasting 2.0!</p></description>
|
||||
<link>https://example.com/podcast/ep0003</link>
|
||||
<guid isPermaLink="true">https://example.com/ep0003</guid>
|
||||
<pubDate>Fri, 09 Oct 2020 04:30:38 GMT</pubDate>
|
||||
<author>adam@podcastindex.org (Adam Curry)</author>
|
||||
<itunes:image>https://podcastindex.org/ep0003/artMd.jpg</itunes:image>
|
||||
<author>John Doe (john@example.com)</author>
|
||||
<itunes:image>https://example.com/ep0003/artMd.jpg</itunes:image>
|
||||
<podcast:images srcset="https://example.com/images/ep3/pci_avatar-massive.jpg 1500w,
|
||||
https://example.com/images/ep3/pci_avatar-middle.jpg 600w,
|
||||
https://example.com/images/ep3/pci_avatar-small.jpg 300w,
|
||||
https://example.com/images/ep3/pci_avatar-tiny.jpg 150w" />
|
||||
<itunes:explicit>no</itunes:explicit>
|
||||
<podcast:transcript url="https://example.com/ep3/transcript.txt" type="text/plain" />
|
||||
<podcast:person role="host" href="http://example.com/adamcurry" img="http://example.com/images/adamcurry.jpg">Adam Curry</podcast:person>
|
||||
<podcast:person role="guest" href="http://example.com/davejones" img="http://example.com/images/davejones.jpg">Dave Jones</podcast:person>
|
||||
<enclosure url="https://mp3s.nashownotes.com/PC20-03-2020-09-18-Final.mp3" length="62407829" type="audio/mpeg"/>
|
||||
<podcast:alternateEnclosure type="audio/x-m4a" length="1540076" bitrate="80" title="Audio - low bitrate">https://podcastindex.org/ep0003/audio/podnews201009.m4a</podcast:alternateEnclosure>
|
||||
<podcast:alternateEnclosure type="audio/mpeg" length="2534548" bitrate="160" title="Audio - high bitrate">https://podcastindex.org/ep0003/audio/podnews201009.mp3</podcast:alternateEnclosure>
|
||||
<podcast:season name="Podcasting 2.0">1</podcast:season>
|
||||
<podcast:episode>3</podcast:episode>
|
||||
<podcast:chapters url="https://example.com/ep3_chapters.json" type="application/json"/>
|
||||
<podcast:soundbite startTime="33.833" duration="60.0" />
|
||||
<podcast:transcript url="https://example.com/ep3/transcript.txt" type="text/plain" />
|
||||
<podcast:person href="https://www.podchaser.com/creators/adam-curry-107ZzmWE5f" img="https://example.com/images/adamcurry.jpg">Adam Curry</podcast:person>
|
||||
<podcast:person role="guest" href="https://github.com/daveajones/" img="https://example.com/images/davejones.jpg">Dave Jones</podcast:person>
|
||||
<podcast:person group="visuals" role="cover art designer" href="https://example.com/artist/beckysmith">Becky Smith</podcast:person>
|
||||
<enclosure url="https://mp3s.nashownotes.com/PC20-17-2020-12-25-Final.mp3" length="76606111" type="audio/mpeg"/>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Episode 2 - The Return</title>
|
||||
<description><p>Everything at this level will become the rss description text for this item.</p></description>
|
||||
<link>https://podcastindex.org/ep0002</link>
|
||||
<guid isPermaLink="true">http://podcastindex.org/ep0002</guid>
|
||||
<title>Episode 2 - The Present</title>
|
||||
<description><p>Where are we at now in the podcasting era. What are the current challenges?</p></description>
|
||||
<link>https://example.com/podcast/ep0002</link>
|
||||
<guid isPermaLink="true">https://example.com/ep0002</guid>
|
||||
<pubDate>Thu, 08 Oct 2020 04:30:38 GMT</pubDate>
|
||||
<author>adam@podcastindex.org (Adam Curry)</author>
|
||||
<itunes:image>https://podcastindex.org/ep0002/artMd.jpg</itunes:image>
|
||||
<author>John Doe (john@example.com)</author>
|
||||
<itunes:image>https://example.com/ep0002/artMd.jpg</itunes:image>
|
||||
<podcast:images srcset="https://example.com/images/ep2/pci_avatar-massive.jpg 1500w,
|
||||
https://example.com/images/ep2/pci_avatar-middle.jpg 600w,
|
||||
https://example.com/images/ep2/pci_avatar-small.jpg 300w,
|
||||
https://example.com/images/ep2/pci_avatar-tiny.jpg 150w" />
|
||||
<itunes:explicit>no</itunes:explicit>
|
||||
<podcast:transcript type="application/json" language="es" rel="captions">https://podcastindex.org/ep0002/transcript_es.json</podcast:transcript>
|
||||
<podcast:transcript type="application/srt">https://podcastindex.org/ep0002/transcript.srt</podcast:transcript>
|
||||
<podcast:person role="host" href="http://example.com/adamcurry" img="http://example.com/images/adamcurry.jpg">Adam Curry</podcast:person>
|
||||
<podcast:person role="guest" href="http://example.com/davejones" img="http://example.com/images/davejones.jpg">Dave Jones</podcast:person>
|
||||
<enclosure url="https://mp3s.nashownotes.com/PC20-02-2020-09-11-Final.mp3" length="59902895" type="audio/mpeg"/>
|
||||
<podcast:alternateEnclosure type="audio/x-m4a" length="1540076" bitrate="80" title="Audio - low bitrate">https://podcastindex.org/ep0002/audio/podnews201009.m4a</podcast:alternateEnclosure>
|
||||
<podcast:alternateEnclosure type="audio/mpeg" length="2534548" bitrate="160" title="Audio - high bitrate">https://podcastindex.org/ep0002/audio/podnews201009.mp3</podcast:alternateEnclosure>
|
||||
<podcast:season name="Podcasting 2.0">1</podcast:season>
|
||||
<podcast:episode>2</podcast:episode>
|
||||
<podcast:chapters url="https://example.com/ep2_chapters.json" type="application/json"/>
|
||||
<podcast:soundbite startTime="45.4" duration="56.0" />
|
||||
<podcast:transcript url="https://example.com/ep2/transcript.txt" type="text/plain" />
|
||||
<podcast:person href="https://en.wikipedia.org/wiki/Adam_Curry" img="http://example.com/images/adamcurry.jpg">Adam Curry</podcast:person>
|
||||
<podcast:person role="guest" href="https://example.com/blog/daveajones/" img="http://example.com/images/davejones.jpg">Dave Jones</podcast:person>
|
||||
<podcast:person group="visuals" role="cover art designer" href="https://example.com/artist/marcusbrown">Marcus Brown</podcast:person>
|
||||
<enclosure url="https://mp3s.nashownotes.com/PC20-16-2020-12-18-Final.mp3" length="67080717" type="audio/mpeg"/>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Episode 1 - The Beginning</title>
|
||||
<description><p>Everything at this level will become the rss description text for this item.</p></description>
|
||||
<link>http://podcastindex.org/ep0001</link>
|
||||
<guid isPermaLink="true">http://podcastindex.org/ep0001</guid>
|
||||
<pubDate>Wed, 07 Nov 2020 04:29:49 GMT</pubDate>
|
||||
<author>adam@podcastindex.org (Adam Curry)</author>
|
||||
<itunes:image>https://podcastindex.org/ep0001/artMd.jpg</itunes:image>
|
||||
<podcast:images srcset="https://example.com/images/ep2/pci_avatar-massive.jpg 1500w,
|
||||
https://example.com/images/ep2/pci_avatar-middle.jpg 600w,
|
||||
https://example.com/images/ep2/pci_avatar-small.jpg 300w,
|
||||
https://example.com/images/ep2/pci_avatar-tiny.jpg 150w" />
|
||||
<title>Episode 1 - The Past</title>
|
||||
<description><p>How did podcasting get started? What was it like in the beginning?</p></description>
|
||||
<link>https://example.com/podcast/ep0001</link>
|
||||
<guid isPermaLink="true">https://example.com/ep0001</guid>
|
||||
<pubDate>Wed, 07 Oct 2020 04:30:38 GMT</pubDate>
|
||||
<author>John Doe (john@example.com)</author>
|
||||
<itunes:image>https://example.com/ep0001/artMd.jpg</itunes:image>
|
||||
<podcast:images srcset="https://example.com/images/ep1/pci_avatar-massive.jpg 1500w,
|
||||
https://example.com/images/ep1/pci_avatar-middle.jpg 600w,
|
||||
https://example.com/images/ep1/pci_avatar-small.jpg 300w,
|
||||
https://example.com/images/ep1/pci_avatar-tiny.jpg 150w" />
|
||||
<itunes:explicit>no</itunes:explicit>
|
||||
<podcast:transcript url="https://example.com/ep1/transcript.html" type="text/html" />
|
||||
<podcast:transcript url="https://example.com/ep1/transcript_es.html" type="text/html" language="es" />
|
||||
<podcast:person role="host" href="http://example.com/adamcurry" img="http://example.com/images/adamcurry.jpg">Adam Curry</podcast:person>
|
||||
<podcast:person role="guest" href="http://example.com/davejones" img="http://example.com/images/davejones.jpg">Dave Jones</podcast:person>
|
||||
<enclosure url="https://mp3s.nashownotes.com/PC20-01-2020-08-28-Final.mp3" length="61222288" type="audio/mpeg"/>
|
||||
<podcast:alternateEnclosure type="audio/x-m4a" length="1540076" bitrate="80" title="Audio - low bitrate">https://podcastindex.org/ep0001/audio/podnews201009.m4a</podcast:alternateEnclosure>
|
||||
<podcast:alternateEnclosure type="audio/mpeg" length="2534548" bitrate="160" title="Audio - high bitrate">https://podcastindex.org/ep0001/audio/podnews201009.mp3</podcast:alternateEnclosure>
|
||||
<podcast:season name="Podcasting 2.0">1</podcast:season>
|
||||
<podcast:episode>1</podcast:episode>
|
||||
<podcast:chapters url="https://example.com/ep1_chapters.json" type="application/json"/>
|
||||
<podcast:soundbite startTime="29.32" duration="34.0" />
|
||||
<podcast:transcript url="https://example.com/ep1/transcript.txt" type="text/plain" />
|
||||
<podcast:person href="https://curry.com" img="http://example.com/images/adamcurry.jpg">Adam Curry</podcast:person>
|
||||
<podcast:person role="guest" href="https://www.imdb.com/name/nm0427852888/" img="http://example.com/images/davejones.jpg">Dave Jones</podcast:person>
|
||||
<podcast:person group="visuals" role="cover art designer" href="https://example.com/artist/jebickmorton">Jebick Morton</podcast:person>
|
||||
<enclosure url="https://mp3s.nashownotes.com/PC20-15-2020-12-11-Final.mp3" length="71234813" type="audio/mpeg"/>
|
||||
</item>
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
<svg width="280" height="44" version="1.1" viewBox="0 0 280 44" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m183.89 1.3984-5.3887 41.203h92.512c3.878 0 7-3.122 7-7v-27.203c0-3.878-3.122-7-7-7z" fill="#4d4d4d"/>
|
||||
<path d="m8.9824 1.3984c-3.878 0-7 3.122-7 7v27.203c0 3.878 3.122 7 7 7h169.52l5.3887-41.203z" fill="#a00"/>
|
||||
<g transform="matrix(1.0604 0 0 1.0604 21.247 3.8783)" fill="#fff">
|
||||
<g transform="skewX(-7.5)" fill="#fff" aria-label="Podcasting 2.0 Certified">
|
||||
<path d="m27.07 9.1463q2.8566 0 4.3828 1.0957 1.5457 1.0761 1.5457 3.2284 0 1.174-.43045 2.0153-.41089.82177-1.2131 1.3501-.78264.50872-1.9175.74351t-2.5631.23479h-1.5066v5.0285h-1.8979v-13.364q.80221-.19566 1.7805-.25436.99787-.078264 1.8196-.078264zm.15653 1.6631q-1.2131 0-1.8588.0587v5.322h1.4283q.9783 0 1.7609-.1174.78264-.13696 1.3109-.43045.54785-.31306.84134-.84134t.29349-1.3501q0-.78264-.31306-1.2914-.29349-.50872-.82177-.80221-.50872-.31306-1.1935-.43045t-1.4479-.1174z"/>
|
||||
<path d="m43.819 17.755q0 1.2131-.35219 2.1914t-.99787 1.6827q-.62611.70438-1.5066 1.0957-.88047.37175-1.9175.37175t-1.9175-.37175q-.88047-.39132-1.5261-1.0957-.62611-.70438-.9783-1.6827t-.35219-2.1914q0-1.1935.35219-2.1718.35219-.99787.9783-1.7022.64568-.70438 1.5261-1.0761.88047-.39132 1.9175-.39132t1.9175.39132q.88047.37175 1.5066 1.0761.64568.70438.99787 1.7022.35219.9783.35219 2.1718zm-1.8979 0q0-1.7218-.78264-2.7197-.76307-1.0174-2.0936-1.0174t-2.1131 1.0174q-.76307.99787-.76307 2.7197t.76307 2.7392q.78264.99787 2.1131.99787t2.0936-.99787q.78264-1.0174.78264-2.7392z"/>
|
||||
<path d="m52.956 14.82q-.33262-.27392-.95873-.52828t-1.3696-.25436q-.78264 0-1.3501.29349-.54785.27392-.90004.78264-.35219.48915-.50872 1.174t-.15653 1.4674q0 1.7805.88047 2.7588.88047.95873 2.3479.95873.74351 0 1.2327-.0587.50872-.07826.78264-.15653zm0-6.8481 1.8196-.31306v14.89q-.62611.17609-1.6044.35219t-2.2501.17609q-1.174 0-2.1131-.37175t-1.6044-1.0566-1.037-1.6631q-.35219-.99787-.35219-2.2305 0-1.174.29349-2.1523.31306-.9783.90004-1.6827t1.4283-1.0957q.8609-.39132 1.9566-.39132.88047 0 1.5457.23479.68481.23479 1.0174.45002z"/>
|
||||
<path d="m62.328 23.077q-1.2327 0-2.1718-.39132-.9196-.39132-1.5653-1.0957-.62611-.70438-.93917-1.6631-.31306-.9783-.31306-2.1523t.33262-2.1523q.35219-.9783.9783-1.6827.62611-.72394 1.5261-1.1153.9196-.41089 2.0349-.41089.68481 0 1.3696.1174t1.3109.37175l-.41089 1.5457q-.41089-.19566-.95873-.31306-.52828-.1174-1.1348-.1174-1.5261 0-2.3479.95873-.80221.95873-.80221 2.7979 0 .82177.17609 1.5066.19566.68481.58698 1.174.41089.48915 1.037.76307.62611.25436 1.5261.25436.72394 0 1.3109-.13696t.9196-.29349l.25436 1.5261q-.15653.09783-.45002.19566-.29349.07826-.66524.13696-.37175.07826-.80221.1174-.41089.0587-.80221.0587z"/>
|
||||
<path d="m70.448 21.532q.64568 0 1.1348-.01957.50872-.03913.84134-.1174v-3.0327q-.19566-.09783-.64568-.15653-.43045-.07826-1.0566-.07826-.41089 0-.88047.0587-.45002.0587-.84134.25436-.37175.17609-.62611.50872-.25436.31306-.25436.84134 0 .9783.62611 1.3696.62611.37175 1.7022.37175zm-.15653-9.1178q1.0957 0 1.8392.29349.76307.27392 1.2131.80221.46958.50872.66524 1.2327.19566.70438.19566 1.5653v6.359q-.23479.03913-.66524.1174-.41089.0587-.93917.1174-.52828.0587-1.1544.09783-.60655.0587-1.2131.0587-.8609 0-1.5848-.17609t-1.2522-.54785q-.52828-.39132-.82177-1.0174t-.29349-1.5066q0-.84134.33262-1.4479.35219-.60655.93917-.9783t1.3696-.54785 1.6435-.17609q.27392 0 .56741.03913.29349.01957.54785.07826.27392.03913.46958.07826t.27392.0587v-.50871q0-.45002-.09783-.88047-.09783-.45002-.35219-.78264-.25436-.35219-.70438-.54785-.43045-.21523-1.1348-.21523-.90004 0-1.5848.13696-.66524.1174-.99787.25436l-.21523-1.5066q.35219-.15653 1.174-.29349.82177-.15653 1.7805-.15653z"/>
|
||||
<path d="m79.585 21.532q1.1153 0 1.6435-.29349.54785-.29349.54785-.93917 0-.66524-.52828-1.0566t-1.7414-.88047q-.58698-.23479-1.1348-.46958-.52828-.25436-.9196-.58698t-.62611-.80221-.23479-1.1544q0-1.3501.99787-2.1327.99787-.80221 2.7197-.80221.43045 0 .8609.0587.43045.03913.80221.1174.37175.0587.64568.13696.29349.07826.45002.13696l-.33262 1.5653q-.29349-.15653-.9196-.31306-.62611-.17609-1.5066-.17609-.76307 0-1.3305.31306-.56741.29349-.56741.93917 0 .33262.1174.58698.13696.25436.39132.46958.27392.19566.66524.37175t.93917.37175q.72394.27392 1.2914.54785.56741.25436.95873.60655.41089.35219.62611.8609.21523.48915.21523 1.2131 0 1.4088-1.0566 2.1327-1.037.72394-2.974.72394-1.3501 0-2.1131-.23479-.76307-.21523-1.037-.33262l.33262-1.5653q.31306.1174.99787.35219t1.8196.23479z"/>
|
||||
<path d="m87.647 12.668h3.8545v1.5261h-3.8545v4.6958q0 .76307.1174 1.2718.1174.48915.35219.78264.23479.27392.58698.39132t.82177.1174q.82177 0 1.3109-.17609.50872-.19566.70438-.27392l.35219 1.5066q-.27392.13696-.95873.33262-.68481.21523-1.5653.21523-1.037 0-1.7218-.25436-.66524-.27392-1.0761-.80221t-.58698-1.2914q-.15653-.78264-.15653-1.8001v-9.0786l1.8196-.31306z"/>
|
||||
<path d="m95.629 22.843h-1.8196v-10.174h1.8196zm-.9196-12.014q-.48915 0-.84134-.31306-.33262-.33262-.33262-.88047 0-.54785.33262-.8609.35219-.33262.84134-.33262t.82177.33262q.35219.31306.35219.8609 0 .54785-.35219.88047-.33262.31306-.82177.31306z"/>
|
||||
<path d="m98.76 12.962q.62611-.15653 1.6631-.33262t2.387-.17609q1.2131 0 2.0153.35219.8022.33262 1.2718.95873.48915.60655.68481 1.4674t.19566 1.8979v5.7133h-1.8196v-5.322q0-.93917-.13696-1.6044-.1174-.66524-.41089-1.0761t-.78264-.58698q-.48915-.19566-1.2131-.19566-.29349 0-.60655.01957-.31305.01957-.60654.0587-.27393.01957-.50872.0587-.21522.03913-.31305.0587v8.5895h-1.8196z"/>
|
||||
<path d="m116.37 21.825q-.23479.15653-.9196.41089-.66525.23479-1.5653.23479-.91961 0-1.7414-.29349-.8022-.29349-1.4088-.90004-.60655-.62611-.95873-1.5457-.35219-.9196-.35219-2.1914 0-1.1153.33262-2.0349.33262-.93917.95873-1.6044.64568-.68481 1.5653-1.0566.91961-.39132 2.074-.39132 1.2718 0 2.211.19566.95873.17609 1.6044.33262v9.0786q0 2.3479-1.2131 3.4045t-3.6784 1.0566q-.95873 0-1.8196-.15653-.84134-.15653-1.4674-.37175l.33262-1.5848q.54785.21523 1.3305.37175.80221.17609 1.6631.17609 1.624 0 2.3284-.64568.72394-.64568.72394-2.0544zm-.0196-7.5525q-.27392-.07826-.74351-.13696-.45001-.07826-1.2326-.07826-1.4674 0-2.2697.95873-.78264.95873-.78264 2.5436 0 .88047.21523 1.5066.23479.62611.60654 1.037.39132.41089.88047.60655.50872.19566 1.037.19566.72394 0 1.3305-.19566.60654-.21523.95873-.48915z"/>
|
||||
<path d="m133.39 12.746q0 .70438-.29349 1.3696-.27392.64568-.74351 1.2914-.46958.62611-1.0566 1.2522-.58698.60655-1.174 1.1935-.33262.33262-.78264.78264-.43045.45002-.82177.93917t-.66525.93917q-.25436.45002-.25436.78264h6.2416v1.5457h-8.2177q-.0196-.1174-.0196-.23479t0-.21523q0-.9196.29349-1.7022.31306-.80221.80221-1.5066t1.0957-1.3305q.60655-.62611 1.1935-1.2131.48915-.46958.9196-.9196.45002-.46958.78264-.9196.35219-.46958.54785-.95873.21523-.48915.21523-1.037 0-.58698-.19566-.99787-.1761-.41089-.48915-.68481-.31306-.27392-.74351-.39132-.41089-.13696-.88047-.13696-.56742 0-1.037.15653t-.84134.37175q-.37175.19566-.62611.43045-.25436.21523-.39132.33262l-.90004-1.2914q.1761-.19566.52829-.46958.35218-.29349.84133-.54785t1.0957-.43045 1.3109-.17609q2.1327 0 3.1893.99787 1.0761.9783 1.0761 2.7784z"/>
|
||||
<path d="m139.01 21.786q0 .52828-.35219.9196t-.95873.39132q-.60655 0-.95874-.39132-.35218-.39132-.35218-.9196t.35218-.9196q.35219-.39132.95874-.39132.60654 0 .95873.39132t.35219.9196z"/>
|
||||
<path d="m141.08 16.053q0-3.4045 1.1935-5.2437 1.2131-1.8392 3.3458-1.8392 2.1327 0 3.3262 1.8392 1.2131 1.8392 1.2131 5.2437t-1.2131 5.2437q-1.1935 1.8392-3.3262 1.8392-2.1327 0-3.3458-1.8392-1.1935-1.8392-1.1935-5.2437zm7.1612 0q0-1.1153-.13697-2.1131-.11739-.99787-.43045-1.7414-.29349-.74351-.8022-1.174-.50872-.45002-1.2522-.45002t-1.2522.45002q-.50872.43045-.82177 1.174-.29349.74351-.43046 1.7414-.11739.99787-.11739 2.1131t.11739 2.1131q.13697.99787.43046 1.7414.31305.74351.82177 1.1935.50871.43045 1.2522.43045t1.2522-.43045q.50871-.45002.8022-1.1935.31306-.74351.43045-1.7414.13697-.99787.13697-2.1131z"/>
|
||||
<path d="m163.17 23.136q-1.4283 0-2.6023-.46958t-2.0153-1.3696-1.3109-2.211q-.45002-1.3305-.45002-3.0327t.50872-3.0132q.52828-1.3305 1.4088-2.2305.88047-.90004 2.0544-1.3696t2.5044-.46958q.84134 0 1.5066.1174.68481.1174 1.174.27392.50872.15653.82177.31306.31306.15653.43045.23479l-.54784 1.5653q-.1761-.1174-.50872-.25436t-.76307-.27392q-.41089-.13696-.91961-.21523-.48915-.09783-.99786-.09783-1.0761 0-1.937.37175-.8609.37175-1.4674 1.0761-.60654.70438-.93916 1.7218-.31306.99787-.31306 2.2501 0 1.2131.27392 2.211.29349.99787.86091 1.7218.56741.70438 1.4088 1.0957.8609.39132 1.9957.39132 1.3109 0 2.1718-.27392.8609-.27392 1.2914-.48915l.48915 1.5653q-.13696.09783-.48915.25436-.35218.13696-.88047.27392-.52828.13696-1.2326.23479-.70438.09783-1.5262.09783z"/>
|
||||
<path d="m168.49 17.775q0-1.3501.39132-2.3479.39132-1.0174 1.037-1.6827.64567-.66524 1.487-.99787t1.7218-.33262q2.0544 0 3.1501 1.2914 1.0957 1.2718 1.0957 3.8936 0 .1174 0 .31306 0 .17609-.0196.33262h-6.9655q.1174 1.5848.9196 2.4066.80221.82177 2.5044.82177.95873 0 1.6044-.15653.66525-.17609.99787-.33262l.25436 1.5261q-.33263.17609-1.174.37175-.82178.19566-1.8783.19566-1.3305 0-2.3088-.39132-.95873-.41089-1.5848-1.1153-.62612-.70438-.93917-1.6631-.29349-.9783-.29349-2.1327zm6.9851-.99787q.0196-1.2327-.62611-2.0153-.62611-.80221-1.7414-.80221-.62611 0-1.1153.25436-.46958.23479-.8022.62611-.33263.39132-.52829.90004-.17609.50872-.23479 1.037z"/>
|
||||
<path d="m183.75 12.453q.23479 0 .52828.03913.31305.01957.60654.07826.29349.03913.52829.09783.25435.03913.37175.07826l-.31306 1.5848q-.21522-.07826-.72394-.17609-.48915-.1174-1.2718-.1174-.50871 0-1.0174.1174-.48915.09783-.64568.13696v8.5503h-1.8196v-9.7439q.64568-.23479 1.6044-.43045.95873-.21523 2.1523-.21523z"/>
|
||||
<path d="m189.25 12.668h3.8545v1.5261h-3.8545v4.6958q0 .76307.1174 1.2718.11739.48915.35219.78264.23479.27392.58698.39132.35218.1174.82177.1174.82177 0 1.3109-.17609.50872-.19566.70438-.27392l.35218 1.5066q-.27392.13696-.95873.33262-.68481.21523-1.5653.21523-1.037 0-1.7218-.25436-.66524-.27392-1.0761-.80221-.41088-.52828-.58698-1.2914-.15653-.78264-.15653-1.8001v-9.0786l1.8196-.31306z"/>
|
||||
<path d="m197.24 22.843h-1.8196v-10.174h1.8196zm-.9196-12.014q-.48915 0-.84134-.31306-.33262-.33262-.33262-.88047 0-.54785.33262-.8609.35219-.33262.84134-.33262t.82177.33262q.35219.31306.35219.8609 0 .54785-.35219.88047-.33262.31306-.82177.31306z"/>
|
||||
<path d="m204.34 7.6593q.68481 0 1.174.09783.48915.078264.70437.15653l-.25436 1.5653q-.21522-.078264-.58698-.15653-.37175-.09783-.90003-.09783-1.2718 0-1.7805.70438-.50871.68481-.50871 1.8588v.88047h3.9132v1.5261h-3.9132v8.6482h-1.8196v-11.094q0-1.9566.95873-3.0132.95874-1.0761 3.0132-1.0761zm5.4785 15.183h-1.8196v-10.174h1.8196zm-.91961-12.014q-.48915 0-.84133-.31306-.33263-.33262-.33263-.88047 0-.54785.33263-.8609.35218-.33262.84133-.33262t.82178.33262q.35218.31306.35218.8609 0 .54785-.35218.88047-.33263.31306-.82178.31306z"/>
|
||||
<path d="m212.38 17.775q0-1.3501.39132-2.3479.39132-1.0174 1.037-1.6827.64568-.66524 1.487-.99787t1.7218-.33262q2.0544 0 3.1501 1.2914 1.0957 1.2718 1.0957 3.8936 0 .1174 0 .31306 0 .17609-.0196.33262h-6.9655q.11739 1.5848.9196 2.4066t2.5044.82177q.95873 0 1.6044-.15653.66524-.17609.99787-.33262l.25435 1.5261q-.33262.17609-1.174.37175-.82177.19566-1.8783.19566-1.3305 0-2.3088-.39132-.95873-.41089-1.5848-1.1153-.62611-.70438-.93916-1.6631-.29349-.9783-.29349-2.1327zm6.9851-.99787q.0196-1.2327-.62611-2.0153-.62612-.80221-1.7414-.80221-.62611 0-1.1153.25436-.46958.23479-.80221.62611-.33262.39132-.52828.90004-.17609.50872-.23479 1.037z"/>
|
||||
<path d="m230.46 14.82q-.33262-.27392-.95873-.52828-.62612-.25436-1.3696-.25436-.78264 0-1.3501.29349-.54785.27392-.90003.78264-.35219.48915-.50872 1.174t-.15653 1.4674q0 1.7805.88047 2.7588.88047.95873 2.3479.95873.74351 0 1.2327-.0587.50872-.07826.78264-.15653zm0-6.8481 1.8196-.31306v14.89q-.62611.17609-1.6044.35219t-2.2501.17609q-1.174 0-2.1131-.37175t-1.6044-1.0566q-.66525-.68481-1.037-1.6631-.35219-.99787-.35219-2.2305 0-1.174.29349-2.1523.31306-.9783.90004-1.6827t1.4283-1.0957q.86091-.39132 1.9566-.39132.88047 0 1.5457.23479.68481.23479 1.0174.45002z"/>
|
||||
</g>
|
||||
</g>
|
||||
<path d="m16.346 12-.15319.16375c-1.3982 1.494-2.2485 3.2398-2.5813 5.2989-.08267.5118-.1148 1.7152-.06111 2.2893.06918.73988.21559 1.4248.47085 2.2033.35302 1.0766.94486 2.1563 1.6604 3.0288.2827.34465.64702.7423.67932.74153.01061-.000262.32502-.30618.69855-.67988l.67912-.6795-.18788-.19316c-1.0053-1.0339-1.7094-2.467-1.993-4.0567-.09312-.52187-.11596-1.6336-.04469-2.179.213-1.6306.89643-3.1185 1.9814-4.314l.22638-.24957-.68744-.68686zm16.728.000395-1.3745 1.3733.21731.2328c.29468.31554.72476.89222.95286 1.2777 1.0551 1.7832 1.3662 3.8891.8664 5.8664-.18836.74533-.50874 1.5179-.89663 2.1626-.20573.34194-.72055 1.0162-.95583 1.2518l-.18506.18544.68554.68724.68554.68744.15035-.14658c.08273-.08053.25134-.26448.37466-.40898 1.1577-1.3565 1.937-3.0621 2.2144-4.8451.09397-.60424.11746-1.9123.04546-2.537-.12972-1.1259-.43262-2.16-.92925-3.1728-.4496-.91691-1.0089-1.7291-1.6661-2.4198zm-2.3145 2.3141-.66554.66572-.66572.66554.12148.14393c.59312.70318.93003 1.365 1.1094 2.179.08059.36578.09741 1.1784.03303 1.5911-.08845.56684-.31751 1.2002-.60385 1.6695-.14073.23066-.47579.67285-.58215.76816-.06441.0577-.06335.05894.59084.73421.36039.37201.66389.67268.6746.66838.01078-.0041.08848-.0842.1728-.1777.72029-.79887 1.2214-1.728 1.491-2.765.5252-2.0194-.01708-4.2714-1.4059-5.8383zm-12.075.03339c-.04049-.008-.09137.04972-.28504.27354-.32246.37265-.45922.55894-.68647.93588-.41092.68157-.68499 1.4245-.83853 2.2719-.06693.36935-.09387 1.3113-.04867 1.7028.15621 1.3536.70456 2.6061 1.5677 3.5799l.27184.30654.65894-.67253.65912-.67253-.15129-.17505c-.5326-.61598-.88221-1.317-1.063-2.1319-.09021-.40643-.09717-1.3043-.01323-1.72.16942-.83874.55443-1.6249 1.0718-2.1887l.19242-.20958-.61422-.60932c-.33787-.33518-.64364-.63427-.6795-.66459-.01616-.01355-.02839-.02354-.04188-.02622zm2.1904 2.1522-.07735.09263c-.25178.3022-.53862.91318-.66402 1.4141-.09036.36093-.11387 1.0837-.04753 1.4645.0572.32829.17453.71656.30126.9969.0941.20823.41714.71421.45596.71421.01241 0 .19388-.17316.40314-.38483l.3805-.38483-.06299-.10187c-.56979-.92195-.56356-1.9907.0168-2.9099l.07659-.12148-.39105-.38975zm7.6796.01519c-.04286 0-.75271.72767-.75271.77154 0 .02673.03626.10224.08074.16772.50796.74754.53536 1.8873.06507 2.7103l-.13374.23429.37257.38975c.20491.2144.38183.39081.39314.39182.01143.0011.06926-.06464.12884-.14581.1556-.21197.34875-.58085.45106-.86151.37246-1.0218.28655-2.1822-.23166-3.1268-.11145-.20315-.342-.53123-.37334-.53123zm-3.7712.20732c-.18981.000525-.38054.01868-.52047.05454-.60722.15547-1.1344.58191-1.4166 1.146-.52901 1.0576-.0899 2.3385.98929 2.8858.32972.16725.59071.22059 1.0145.20751.27181-.0083.42867-.02968.58725-.07979.64743-.20467 1.1653-.71753 1.4062-1.3923.09738-.27298.12319-.88255.04983-1.1758-.19479-.77832-.80756-1.3906-1.595-1.5938-.13624-.03519-.32519-.05254-.515-.05207zm-1.2343 5.1709-.08564.65667c-.12997.99631-.407 3.0977-.5614 4.2575-.17487 1.3136-.44794 3.3862-.57007 4.327-.05184.39948-.10141.75761-.10998.7959l-.01551.06943h2.3783l.0168-.10037c.0093-.05525.03729-.26048.06244-.45596s.1082-.82839.18449-1.4063c.07627-.57797.21608-1.6418.31069-2.3643.23486-1.7938.45421-3.4608.61912-4.7027.07596-.57214.13828-1.0484.13828-1.0585 0-.01012-.53273-.0183-1.1838-.0183z" fill="#fff"/>
|
||||
</svg>
|
Po Szerokość: | Wysokość: | Rozmiar: 15 KiB |
|
@ -0,0 +1,23 @@
|
|||
afl-3.0 - Academic Free License v3.0
|
||||
apache-2.0 - Apache license 2.0
|
||||
artistic-2.0 - Artistic license 2.0
|
||||
bsl-1.0 - Boost Software License 1.0
|
||||
bsd-2-clause - BSD 2-clause "Simplified" license
|
||||
bsd-3-clause - BSD 3-clause "New" or "Revised" license
|
||||
bsd-3-clause-clear - BSD 3-clause Clear license
|
||||
cc - Creative Commons license family cc
|
||||
cc0-1.0 - Creative Commons Zero v1.0 Universal
|
||||
cc-by-4.0 - Creative Commons Attribution 4.0
|
||||
cc-by-sa-4.0 - Creative Commons Attribution Share Alike 4.0
|
||||
wtfpl - Do What The F*ck You Want To Public License
|
||||
ecl-2.0 - Educational Community License v2.0
|
||||
epl-1.0 - Eclipse Public License 1.0
|
||||
eupl-1.1 - European Union Public License 1.1
|
||||
agpl-3.0 - GNU Affero General Public License v3.0
|
||||
gpl - GNU General Public License family
|
||||
gpl-2.0 - GNU General Public License v2.0
|
||||
gpl-3.0 - GNU General Public License v3.0
|
||||
lgpl - GNU Lesser General Public License family
|
||||
lgpl-2.1 - GNU Lesser General Public License v2.1
|
||||
lgpl-3.0 - GNU Lesser General Public License v3.0
|
||||
unlicense - The Unlicense
|
|
@ -0,0 +1,150 @@
|
|||
## Location tag format details
|
||||
|
||||
Below, you will find implementation details and UX recommendations for the `<podcast:location>` tag.
|
||||
|
||||
<br>
|
||||
|
||||
### Overview
|
||||
|
||||
This tag is intended to describe the location of editorial focus for a podcast's content - i.e. "what place is this podcast about?" It can exist at either the channel level or the item level, or both.
|
||||
|
||||
The use-cases for this tag are multiple, in order of complexity:
|
||||
|
||||
1. To allow a free-text "location" field to be visible in a podcast app, perhaps during playback.
|
||||
2. To allow a simple point on a map to be visible in a podcast app.
|
||||
3. To allow a search for "podcasts/episodes about places near me" - or, for example, a travel or news podcast.
|
||||
4. To describe a specific place in a programmatic fashion to allow complex geo-aware searches.
|
||||
|
||||
|
||||
It may allow complex searches such as:
|
||||
|
||||
- Show me podcasts or episodes about places near me.
|
||||
- Show me podcasts about train stations in Germany.
|
||||
- Show me podcasts about mines in West Australia.
|
||||
- Visa mig podcaster om platser i Kalifornien på svenska - "Show me podcasts about places in California, returning Swedish-language podcasts only" (using the `<language>` tag).
|
||||
|
||||
|
||||
Unlike other elements in the `podcast` namespace, a "place" is not permanent. Places are built, and abandoned, all the time. Buildings are demolished, businesses close.
|
||||
|
||||
On the other hand, a point on the earth is permanent, but does not describe anything other than a point. This is not always great when wanting to describe a city, rather than an area within a city,
|
||||
or a restaurant within a city. "Locations" are also, not always real places, especially in fiction podcasts.
|
||||
|
||||
This, therefore, means that the `<podcast:location>` tag is complex and has a number of attributes.
|
||||
|
||||
<br>
|
||||
|
||||
### Structure
|
||||
|
||||
```xml
|
||||
<podcast:location
|
||||
geo="[geo URI]"
|
||||
osm="[OSM type][OSM id](#OSM revision)"
|
||||
>[human-readable place name]</podcast:location>
|
||||
```
|
||||
|
||||
This tag can exist at either the `<channel>` level, or the `<item>` level, or both. The maximum recommended string length of all attribute values is 128 characters.
|
||||
|
||||
<br>
|
||||
|
||||
#### Tag Node Value **required**
|
||||
|
||||
This is meant for podcast apps to display the name of the location that the podcast is about. Examples might be "Houses of Parliament", "Gitmo Nation" or "Ernest Murrow Theater, Chicago". This is not intended to be programmatically parsed and is for display only. For a programmatic designation of the location, use the geo URI or OSM IDs, below.
|
||||
|
||||
This value is a maximum of 128 characters. It may describe a real or fictional place. It should be in the same language as the podcast, as indicated in the <language> RSS tag: so a podcast in `en` should read "Eiffel Tower, Paris" and not "La Tour d'Eiffel".
|
||||
|
||||
#### `geo` **recommended**
|
||||
|
||||
A geo URI, conformant to [RFC 5870](https://tools.ietf.org/html/rfc5870).
|
||||
|
||||
Examples:
|
||||
|
||||
- `geo:37.786971,-122.399677`, a simple latlon description.
|
||||
- `geo:37.786971,-122.399677,250`, a latlon including a height of 250 meters above ground level.
|
||||
- `geo:37.786971,-122.399677;u=350`, a latlon with an accuracy ('uncertainty') of 350 meters.
|
||||
|
||||
For information that may interest space travelers: the RFC does include an optional coordinate reference system for other planets, though these are not recommended to be used yet by the RFC.
|
||||
|
||||
The `geo` attribute is recommended to be used alongside an `osm` attribute. Since OSM IDs are not guaranteed to be permanent (perhaps it's the ID of a building which is later demolished), the geo URI serves as a permanent point.
|
||||
|
||||
Data within these attributes must relate to a real place. This tag must not be used for podcasts from or about fictional places.
|
||||
|
||||
<br>
|
||||
|
||||
#### `osm` **recommended**
|
||||
|
||||
From an [OpenStreetMap](https://en.wikipedia.org/wiki/OpenStreetMap) query. If a value is given for `osm` it must contain both 'type' and 'id'.
|
||||
|
||||
- osm type: A one-character description of the type of OSM point. Valid is "N" (node); "W" (way); "R" (relation).
|
||||
- osm id: The ID of the OpenStreetMap feature that is described.
|
||||
- osm revision: an _optional_ revision ID for an OSM object, preceded by a hash.
|
||||
|
||||
This may describe part of a building, a building or business, a suburb, city, state, or country - anything within the OSM database, using the OpenStreetMap API or a local copy of the data. This is the field that is the best programmatic representation of the place being described. The data within OpenStreetMap is rich and can be used for detailed searches.
|
||||
|
||||
Examples:
|
||||
|
||||
- The United States of America: [R148838](https://nominatim.openstreetmap.org/ui/details.html?osmtype=R&osmid=148838)
|
||||
- The Eiffel Tower in Paris: [W5013364](https://nominatim.openstreetmap.org/ui/details.html?osmtype=W&osmid=5013364)
|
||||
- Paris, but - optionally - the revision made on 8 Jan 2021: [R7444#188](https://www.openstreetmap.org/relation/7444/history)
|
||||
|
||||
The `osm` is recommended to be used with a `geo` attribute. Since OSM IDs are not guaranteed to be permanent (perhaps it's the ID of a building which is later demolished), the geo URI serves as a permanent point. Data within these tags must relate to a real place.
|
||||
|
||||
If a developer uses the `osm` tag, the canonical latlon is the one returned by OSM. It is intended that the `geo` attribute is used for simple display within a podcast app without any API usage: but for more advanced uses, like a geographic search, developers will ingest the full details from OpenStreetMap. The geo URI also offers a useful fallback should the `osmid` be removed.
|
||||
|
||||
The revision number for the edit is a special case that allows for more permanent links, with the drawback that these are not fully supported by Nominatim and require a full OSM database complete with changesets. It is recommended to simply link to the object in OSM normally, without a revision number, and some data consumers may not support the revision number.
|
||||
|
||||
_Caution: Do not use place_id, which is visible in API calls - these are unique to each mirror of the OSM data. You'll be wanting osm_id instead._
|
||||
|
||||
### UX Suggestion for Podcast Hosting Platforms
|
||||
|
||||
The quality of this data is important to ensure a good listener experience. A podcast publisher should be in no doubt what data is being asked for here, to clarify that this is about a location that is mentioned
|
||||
in the podcast. The wording of this feature is important to ensure the correct data is available.
|
||||
|
||||

|
||||

|
||||
|
||||
Podcast hosts may also wish to remind podcast publishers to always be cautious about posting public location information. It's possible to check the OSM type to see if it relates to a residential address.
|
||||
|
||||
<br>
|
||||
|
||||
### Examples
|
||||
|
||||
For a podcast that is talking about the Eiffel Tower, but actually made in Birmingham, Alabama, this is what the specification would suggest:
|
||||
|
||||
```xml
|
||||
<podcast:location
|
||||
geo="geo:48.858093,2.294694"
|
||||
osm="W5013364"
|
||||
>Eiffel Tower, Paris</podcast:location>
|
||||
```
|
||||
|
||||
For a podcast that is set in Gitmo Nation, a nickname used by the show for the United States of America:
|
||||
|
||||
```xml
|
||||
<podcast:location
|
||||
geo="geo:39.7837304,-100.445882;u=3900000"
|
||||
osm="R148838"
|
||||
>Gitmo Nation</podcast:location>
|
||||
```
|
||||
|
||||
The `geo` point uses an optional 'uncertainty' value here of 3,900 km, indicating that the "location" described here is up to 3,900km away from the point given (which is the rough width of the USA). The OSMID
|
||||
includes a more accurate bounding box and geoJSON.
|
||||
|
||||
For a podcast that is about Hogwarts (a fictional location), the `geo` and `osm` must not be entered:
|
||||
|
||||
```xml
|
||||
<podcast:location>Hogwarts</podcast:location>
|
||||
```
|
||||
|
||||
For a podcast from Tesla upon landing on Mars:
|
||||
|
||||
```xml
|
||||
<podcast:location geo="geo:37.786971,-122.399677;crs=Mars-2031">Tesla Base 3</podcast:location>
|
||||
```
|
||||
|
||||
(The coordinate reference system for Mars doesn't yet exist, but this shows the extensibility of this tag.)
|
||||
|
||||
<br>
|
||||
|
||||
### What This Tag Isn't Built For
|
||||
|
||||
For privacy and user experience, this tag is not meant as a description of the physical location of podcast hosts and guests ("I'm doing this podcast in Denver, Colorado!"). The physical location of people are available via the [podcast:person](https://github.com/Podcastindex-org/podcast-namespace#phase-2-open) tag's links to places like Twitter, Facebook, Wikipedia and Podchaser.
|
|
@ -0,0 +1,85 @@
|
|||
# Podcasting 2.0
|
||||
|
||||
|
||||
Podcasting 2.0 is a set of forward looking ideas combined with the technology to realize them. It's a vision for what the podcast listener experience can and should
|
||||
be. That experience has stagnated for over a decade, with almost all of the improvements coming in isolated sections of the ecosystem. There hasn't been a single,
|
||||
unified vision from the podcasting community acting together with one voice. So, we've ended up with fragments of innovation across the podcasting landscape with no
|
||||
central driving goal in mind. Podcasting 2.0 is the expression of what that goal could be.
|
||||
|
||||
Stated eloquently, the aim of Podcasting 2.0 is this:
|
||||
|
||||
> "I think our focus should be 100% on improving the podcasting experience in an open-standard way that allows every player to innovate faster
|
||||
> and better than any one company could do on their own. This is our best bet at avoiding one company emerging as the monopoly of podcasting."
|
||||
>
|
||||
> --Tom Rossi [Tom Rossi](https://podcastindex.social/@tomrossi7/105839063781381384)
|
||||
|
||||
|
||||
Closed ecosystems can not innovate any better or faster than open systems. We should know this by now. The open world of RSS based podcasting can not only
|
||||
keep pace with closed systems, it can exceed them easily. Podcasting 2.0 is simply the technological expression of this idea. We can make a better podcasting
|
||||
experience for listeners than they can get behind any walled garden - no matter how high or expensive those walls are.
|
||||
|
||||
There are three parts to Podcasting 2.0:
|
||||
|
||||
1. The "podcast" namespace
|
||||
2. Web app friendliness
|
||||
3. Value for Value
|
||||
|
||||
<br><br>
|
||||
|
||||
## Step 1. Adopt the "podcast" Namespace
|
||||
|
||||
To be a Podcasting 2.0 compliant podcast you need to first declare the "podcast"
|
||||
[namespace](https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md) in your feed if you self-host your podcast. If you
|
||||
use a hosting company for your podcast, check [here](https://podcastindex.org/apps) for a list of hosts that now support the new namespace.
|
||||
|
||||
The namespace gives you (and your listeners) access to many new features:
|
||||
|
||||
- Transcripts: You can deliver a text transcript along with your episode to make your content more accessible to those with hearing challenges, or for those
|
||||
learning your language.
|
||||
- Funding: This points listeners back to a donation or membership page that they can click on to join or donate money to your show.
|
||||
- Chapters: MP3 files have had the ability to embed chapters for many years. But, now you can create a "chapters file" that gets delivered along with your
|
||||
episode to allow rich content like images, embedded web pages, titles and silent markers. This chapters file lives on the web, so it can be
|
||||
changed later after publishing without uploading a new audio file or changing your episode.
|
||||
- Soundbites: Specify short bits of your episode to serve as an intro or a teaser for your show.
|
||||
- Persons: You can give multiple bio's in each episode that have short "about" descriptions of the people on that episode (like hosts, guests, etc.). Did you
|
||||
interview someone cool? Point to their head shot image and link to their Wikipedia page or their blog. It makes searching for people within podcasts
|
||||
easy and enjoyable.
|
||||
- Location: Is your podcast about a specific place? Tag it's location right in the episode or podcast feed to let people know. It makes your show more
|
||||
discoverable on the web.
|
||||
- Named Seasons: Seasons have been around for a while, but now you can name them. This way you can avoid the hassle of trying to cram everything in your show title.
|
||||
|
||||
<br><br>
|
||||
|
||||
## Step 2. Be Web App Friendly
|
||||
|
||||
Next, you need to confirm that your feed does not have "mixed content", and that it supports CORS where necessary. Again, if you use a hosting company for your podcast
|
||||
just [make sure](https://podcastindex.org/apps) they are supporting Podcasting 2.0 features. If your host isn't on that list, send them a message and let them know you
|
||||
want these new features.
|
||||
|
||||
If you self-host your podcast, take note of these two things...
|
||||
|
||||
#### Mixed Content
|
||||
|
||||
"Mixed content" is what happens when part of your podcast (like your feed) is served securely and other parts of it (like the images or the audio) are not. When this
|
||||
happens, web-based podcast players cannot play your content or see your images. Modern web browsers are very strict about security and "mixed content" is blocked by
|
||||
most of them. Make sure your entire podcast is served over HTTPS with a valid certificate.
|
||||
|
||||
#### CORS
|
||||
|
||||
Another problem that can hamper your content under certain circumstances (like embedded pages in chapters) is CORS. If you serve content along with your podcast that
|
||||
requires cross-origin access, please be sure to enable the correct CORS policies on the domain the content is served from. You can find details
|
||||
[here](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS).
|
||||
|
||||
Web-based podcast apps, PWA's (Progressive Web Apps) and Browser Extension based apps are critical to Podcasting 2.0, so the above changes are very important.
|
||||
|
||||
<br><br>
|
||||
|
||||
## Step 3. Value for Value
|
||||
|
||||
The final step is monetizing your content with cryptocurrency so your listeners can support you directly with no middle-men. This allows your content to be truly free from the pressures of advertising. Advertising serves a necessary role in any free market, but it does come with a cost. That cost is censorship - whether it's direct censorship by the advertisers themselves or self-censorship as you restrict your speech as to not offend the advertisers.
|
||||
|
||||
Because of these issues, we've created a way to receive cryptocurrency payments directly from your listeners to you using the experimental `<podcast:value>` tag in your podcast feed. Because it is experimental, it is not currently supported by any major podcast hosting companies. But, if you are so inclined, you can start using it in your feed today so that your podcast will show up on apps that support it like [Sphinx.chat](https://sphinx.chat) and [podStation](https://podstation.github.io).
|
||||
|
||||
If you can't add the `<podcast:value>` tag to your feed manually, we also have created [a site](https://podcasterwallet.com) that can help you put a value tag directly into the Podcast Index database for your feed. Any apps that use the Podcast Index will see your value tag and be able to stream micropayments to you.
|
||||
|
||||
The `<podcast:value>` tag is still early and experimental. But, it does work today. There are more details about it in this [blog post](https://blog.podcastindex.org/html/AnotherWay-lJmNWj9T490hdmPmz5M4GV1Tlw6rDF.html), and in the official [whitepaper](value/value.md). The Podcasting 2.0 community is also always willing to lend you a hand and some advice on the [podcastindex.social](https://podcastindex.social) discussion server.
|
|
@ -0,0 +1,91 @@
|
|||
# The podcast:chapters API Specification
|
||||
|
||||
<small>Version 1.0 by Benjamin Bellamy - 2021.03.11</small>
|
||||
|
||||
<br>
|
||||
This version is a first draft. It will be updated. It may move somewhere else.
|
||||
|
||||
## Purpose
|
||||
The PodcastIndex namespace allows all podcast platforms (hosting, index, players…) to speak the same language and interact together.
|
||||
These interactions are limited to communications through the RSS feeds.
|
||||
This document describes a new type of interaction between actors who use a same PodcastIndex namespace tag: [Podcast:Chapters](https://github.com/Podcastindex-org/podcast-namespace/blob/main/chapters/jsonChapters.md).
|
||||
It was initiated by [David Norman](https://podcastindex.social/@hypercatcher) for [Hypercatcher](https://hypercatcher.com/) and [Benjamin Bellamy](https://podcastindex.social/@benjaminbellamy) for [Castopod](https://castopod.org/) so that HyperCatcher and Castopod are able to interact together and create a seamless experience for podcasters.
|
||||
|
||||
We hope this will open a path to more collaborations between platforms which use the PodcastIndex namespace.
|
||||
(The podcast:transcript API is probably the next to be specified…)
|
||||
|
||||
Note that the purpose of this specification is **not** to define “**how**” to manage the chapter service but “**who**” manages the chapter service, so that **any** podcaster is able to choose **any** provider among the ones able to provide the chapter service.
|
||||
Then that provider is free to use IPFS, centralised https or whatever makes sense to him — and to his users.
|
||||
This spec is **not** an extension of the [Podcast:Chapters](https://github.com/Podcastindex-org/podcast-namespace/blob/main/chapters/jsonChapters.md) tag, it sits next to it.
|
||||
|
||||
## Example
|
||||
To help making things clear, let's take an example:
|
||||
A podcaster, we'll call her Eve, is hosting a podcast on Castopod. She is using HyperCatcher to manage the chapters.
|
||||
|
||||
### Without the podcast:chapters API
|
||||
Whenever Eve wants to publish a new episode, she has to:
|
||||
- Go to her Castopod admin panel, save the episode, then publish it so that it is visible in the RSS feed.
|
||||
- Go to her HyperCatcher dashboard, click "Edit", click "Fetch Episodes" so that HyperCatcher gets this new episode.
|
||||
- Click on the newly fetched episode, copy the "Url for Json".
|
||||
- Go back to Castopod admin panel, edit the episode, paste the previously copied "Url for Json" into the appropriate field, hoping that no platform had fetched the RSS in the meantime, before the chapter Url was pasted.
|
||||
|
||||
Later, Eve will wait for users to edit chapters, she will go back to HyperCatcher dashboard, Accept (or not) the community chapters.
|
||||
|
||||
### With the podcast:chapters API
|
||||
Whenever Eve wants to publish a new episode, she has to:
|
||||
- Go to her Castopod admin panel, save the episode. (Castopod will automatically call the podcast:chapters API at Hypercatcher, send the new episode and get from HyperCatcher the public "URL for Json" and insert it automatically in the RSS feed, get the private URL to the episode in the HyperCatcher dashboard and display the link on Castopod Dashboard.)
|
||||
- That's it.
|
||||
|
||||
Later, Eve will wait for users to edit chapters, she will go back to HyperCatcher dashboard, Accept (or not) the community chapters.
|
||||
Because Castopod knows the private URL to the episode in the HyperCatcher dashboard, a link from the episode edit page in Castopod to the episode in HyperCatcher will be displayed. And we think that this is pretty cool.
|
||||
|
||||
## Technical Specification
|
||||
This API uses REST.
|
||||
|
||||
It involves 2 parties:
|
||||
- a Poscast Hosting service.
|
||||
- a Chapters Provider service.
|
||||
|
||||
### Endpoints
|
||||
This API has only one endpoint (so far), hosted at the Chapters Provider.
|
||||
|
||||
#### AddNewEpisode
|
||||
- `POST /AddNewEpisode`
|
||||
This adds a new Episode to the chapter provider.
|
||||
The endpoint URL may be defined by the chapter provider. The Podcast Hosting service must provide a way to specify this endpoint URL on its configuration panel.
|
||||
|
||||
Parameters:
|
||||
- `rss`: RSS feed URL
|
||||
- `guid`: New Episode GUID
|
||||
- `enclosure_url`: New episode enclosure url
|
||||
|
||||
Response:
|
||||
- `status`: true or false
|
||||
- `jsonUrl`: Url for Json
|
||||
- `episodeUrl`: Url for episode on dashboard
|
||||
|
||||
### Authentication
|
||||
Thir API will use the mechanism already used by the [PodcastIndex.org API](https://podcastindex-org.github.io/docs-api/#auth).
|
||||
The Chapters Provider will provide a couple `apiKey` and `apiSecret` which will be displayed on the user dashboard so that the podcaster can copy and paste them on his Podcast Hosting configuration panel.
|
||||
Fields:
|
||||
- `User-Agent`: Mandatory
|
||||
Please identify the system/product you are using to make this request.
|
||||
Example: Castopod/1.0
|
||||
- `X-Auth-Key`: Mandatory
|
||||
Your API key string
|
||||
Example: UXKCGDSYGUUEVQJSYDZH
|
||||
- `X-Auth-Date`: Mandatory
|
||||
The current unix epoch time as a string. 5 minute window.
|
||||
This value is an integer; round down if needed. The value shall not include a decimal point.
|
||||
Example: 1613713388
|
||||
- `Authorization`: Mandatory
|
||||
A SHA-1 hash of the X-Auth-Key, the corresponding secret and the X-Auth-Date value concatenated as a string. The resulting hash should be encoded as a hexadecimal value, two digits per byte, using lower case letters for the hex digits "a" through "f".
|
||||
Example: UXKCGDSYGUUEVQJSYDZH
|
||||
The Authorization header is computed with something like this (pseudo-code):
|
||||
```
|
||||
authHeader = sha1(apiKey+apiSecret+unixTime)
|
||||
```
|
||||
|
||||
Discussion here:
|
||||
- https://github.com/Podcastindex-org/podcast-namespace/issues/209
|
||||
- https://podcastindex.social/web/statuses/105872943999299482
|
|
@ -0,0 +1,164 @@
|
|||
# The "podcast:alternateEnclosure" Specification
|
||||
|
||||
<small>Version 1.0 by Alecks Gates(@agates) - 2021.04.13</small>
|
||||
|
||||
<br>
|
||||
|
||||
## Purpose
|
||||
|
||||
This tag is a named collection of different transports available to acquire a single type of media. There can be multiple as needed, to provide media encoded in different ways or provided by different means of transport.
|
||||
|
||||
This is designed to provide sufficient information to the podcast player to be able to determine what type of media it supports along with the transports available to acquire it. At the same time, sufficient information should be provided to be able to allow sane defaults or preferences presented to the user.
|
||||
|
||||
For example, one podcast player might only support audio, but can play it in various different codecs such as OPUS, AAC, MP3, etc. Another may support video, but only video in h264 format.
|
||||
|
||||
If desired, media related to the enclosure -- but which does not have the same content -- can be provided. Perhaps a "bloopers" take, or the same episode in a different language.
|
||||
|
||||
Lastly, I propose optional information to verify integrity of downloaded media via hashes or maybe even PGP signatures. Obviously, PGP verification would require the podcast application to separately import trusted public keys to be useful. Adhering to the Subresource Integrity standard will help here for hashes.
|
||||
|
||||
<br>
|
||||
|
||||
## Specification
|
||||
|
||||
- **\<podcast:alternateEnclosure type="[mime type]" length="[(int)]" bitrate="[(float)]" height="[(int)]" lang="[(string)]" title="[(string)]" rel="[(string)]" codecs="[(string)]" default="[(boolean)]"> ... </podcast:alternateEnclosure>**
|
||||
Item (optional | multiple)
|
||||
|
||||
This element defines a media file. One or more `<podcast:source>` tags must be contained within this element to list available methods to obtain the file. This is meant to provide different versions of a media file -- such as low or high bitrate, alternate formats (different codecs or video), alternate URI schemes (IPFS or live streaming), or alternate download types not indicated by the URI and type (like torrents).
|
||||
|
||||
The "rel" attribute is meant to allow presentation of media different from the main content given in the enclosure. For example, "director's cut" or "behind the scenes". _If you are only offering one media content (say, a podcast in MP3, AAC, Opus, over HTTPS and IPFS), you can likely ignore the "rel" attribute._
|
||||
|
||||
The media element always refers to an available media version. The standard RSS enclosure element is always the default media to be played.
|
||||
|
||||
An `<enclosure>` tag must be present along with this tag within the item.
|
||||
|
||||
- `type` (required) Mime type of the media asset.
|
||||
- `length` (required) Length of the file in bytes.
|
||||
- `bitrate` (optional) Encoding bitrate of media asset.
|
||||
- `height` (optional) Height of the media asset for video formats
|
||||
- `lang` (optional) An [IETF language tag (BCP 47)](https://en.wikipedia.org/wiki/BCP_47) code identifying the language of this media.
|
||||
- `title` (optional) A human-readable string identifying the name of the media asset. Should be limited to 32 characters for UX.
|
||||
- `rel` (optional) Provides a method of offering and/or grouping together different media elements. If not set, or set to "default", the media will be grouped with the enclosure and assumed to be an alternative to the enclosure's encoding/transport. This attribute can and should be the same for items with the same content encoded by different means. Should be limited to 32 characters for UX.
|
||||
- `codecs` (optional) A [RFC 6381](https://tools.ietf.org/html/rfc6381) string specifying the codecs available in this media.
|
||||
- `default` (optional) Boolean specifying whether or not the given media is the same as the file from the _enclosure_ element and should be the preferred media element. The primary reason to set this is to offer alternative transports for the enclosure. If not set, this should be assumed to be _false_.
|
||||
|
||||
- **\<podcast:source uri="[uri of media asset]" contentType="[mime type]" />**
|
||||
|
||||
podcast:alternateEnclosure (required | multiple)
|
||||
|
||||
This element defines available transport methods to obtain media, such as HTTP, HTTPS, IPFS, Tor, magnet, etc, via alternate URI schemes and content types if the `<podcast:alternateEnclosure>` content type does not suffice, such as torrent or stream files.
|
||||
|
||||
There should be one or more source elements in a media tag.
|
||||
|
||||
- `uri` (required) This a an [IANA-registered](https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml) URI for the media asset.
|
||||
- `contentType` (optional) Mime type of the data retrieved from the URI, if different from the media's "type"
|
||||
|
||||
- **\<podcast:integrity type="[integrity type]" value="[integrity value]" />**
|
||||
|
||||
podcast:alternateEnclosure (optional | multiple)
|
||||
|
||||
This element defines a method of verifying integrity the media given either an [SRI-compliant integrity string](https://www.w3.org/TR/SRI/) or a base64 encoded PGP signature.
|
||||
|
||||
There may be one or more integrity elements in a media tag.
|
||||
|
||||
- `type` (required) Type of integrity, either "sri" or "pgp-signature".
|
||||
- `value` (required) Value of the sri string or base64 encoded pgp signature.
|
||||
|
||||
|
||||
Example of content served via audio in mp3, [high-bitrate Opus](https://wiki.xiph.org/Opus_Recommended_Settings), "hi-fi" AAC, low-bitrate Opus -- over both HTTPS and IPFS:
|
||||
```xml
|
||||
<enclosure url="https://best-podcast.com/file-0.mp3" length="43200000" type="audio/mpeg" />
|
||||
|
||||
<podcast:alternateEnclosure type="audio/mpeg" length="43200000" bitrate="128000" default="true" title="Standard">
|
||||
<podcast:source uri="https://best-podcast.com/file-0.mp3" />
|
||||
<podcast:source uri="ipfs://someRandomMpegFile" />
|
||||
</podcast:alternateEnclosure>
|
||||
|
||||
<podcast:alternateEnclosure type="audio/opus" length="32400000" bitrate="96000" title="High quality">
|
||||
<podcast:source uri="https://best-podcast.com/file-high.opus" />
|
||||
<podcast:source uri="ipfs://someRandomHighBitrateOpusFile" />
|
||||
</podcast:alternateEnclosure>
|
||||
|
||||
<podcast:alternateEnclosure type="audio/aac" length="54000000" bitrate="160000" title="High quality AAC">
|
||||
<podcast:source uri="https://best-podcast.com/file-proprietary.aac" />
|
||||
<podcast:source uri="ipfs://someRandomProprietaryAACFile" />
|
||||
</podcast:alternateEnclosure>
|
||||
|
||||
<podcast:alternateEnclosure type="audio/opus" length="5400000" bitrate="16000" title="Low bandwidth">
|
||||
<podcast:source uri="https://best-podcast.com/file-low.opus" />
|
||||
<podcast:source uri="ipfs://someRandomLowBitrateOpusFile" />
|
||||
</podcast:alternateEnclosure>
|
||||
```
|
||||
|
||||
Example of content served via audio (mp3) and video in different resolutions (mp4) with dynamic streaming options:
|
||||
```xml
|
||||
<podcast:alternateEnclosure type="audio/mpeg" length="2490970" bitrate="160707.74">
|
||||
<podcast:source uri="https://best-podcast.com/file-0.mp3" />
|
||||
<podcast:source uri="ipfs://QmdwGqd3d2gFPGeJNLLCshdiPert45fMu84552Y4XHTy4y" />
|
||||
<podcast:source uri="https://best-podcast.com/file-0.torrent" contentType="application/x-bittorrent" />
|
||||
<podcast:source uri="http://somerandom.onion/file-0.mp3" />
|
||||
</podcast:alternateEnclosure>
|
||||
|
||||
<podcast:alternateEnclosure type="video/mp4" length="10562995" bitrate="681483.55" height="1080">
|
||||
<podcast:source uri="https://best-podcast.com/file-1080.mp4" />
|
||||
<podcast:source uri="ipfs://QmfQKJcp2xdByEt8mzWr1AJUhwvb9rdWPoacvdq2roDhgh" />
|
||||
<podcast:source uri="https://best-podcast.com/file-1080.torrent" contentType="application/x-bittorrent" />
|
||||
<podcast:source uri="http://somrandom.onion/file-1080.mp4" />
|
||||
</podcast:alternateEnclosure>
|
||||
|
||||
<podcast:alternateEnclosure type="video/mp4" length="7924786" bitrate="511276.52" height="720">
|
||||
<podcast:source uri="https://best-podcast.com/file-720.mp4" />
|
||||
<podcast:source uri="ipfs://QmX33FYehk6ckGQ6g1D9D3FqZPix5JpKstKQKbaS8quUFb" />
|
||||
<podcast:source uri="https://best-podcast.com/file-720.torrent" contentType="application/x-bittorrent" />
|
||||
<podcast:source uri="http://somrandom.onion/file-720.mp4" />
|
||||
</podcast:alternateEnclosure>
|
||||
|
||||
<podcast:alternateEnclosure type="video/mp4" length="6081197" bitrate="392335.29" height="480">
|
||||
<podcast:source uri="https://best-podcast.com/file-480.mp4" />
|
||||
<podcast:source uri="ipfs://QmQHNcr88kHp2ieNQYcBRczM7XpMtjRSQcLek6CaJwd81m" />
|
||||
<podcast:source uri="https://best-podcast.com/file-480.torrent" contentType="application/x-bittorrent" />
|
||||
<podcast:source uri="http://somrandom.onion/file-480.mp4" />
|
||||
</podcast:alternateEnclosure>
|
||||
|
||||
<podcast:alternateEnclosure type="video/mp4" length="4086007" bitrate="327833.03" height="360">
|
||||
<podcast:source uri="https://best-podcast.com/file-360.mp4" />
|
||||
<podcast:source uri="ipfs://QmeK3EQMuV6cR766kuyG2QUUEJqUVfkJKGPNRceXzXC3ED" />
|
||||
<podcast:source uri="https://best-podcast.com/file-360.torrent" contentType="application/x-bittorrent" />
|
||||
<podcast:source uri="http://somrandom.onion/file-360.mp4" />
|
||||
</podcast:alternateEnclosure>
|
||||
|
||||
<podcast:alternateEnclosure type="video/mp4" length="2490970" bitrate="263613.35" height="240">
|
||||
<podcast:source uri="https://best-podcast.com/file-240.mp4" />
|
||||
<podcast:source uri="ipfs://QmdjB94TUMSQu1P8QvPnGnPjNLiWycjtraSaCsiVi4xUNi" />
|
||||
<podcast:source uri="https://best-podcast.com/file-240.torrent" contentType="application/x-bittorrent" />
|
||||
<podcast:source uri="http://somrandom.onion/file-240.mp4" />
|
||||
</podcast:alternateEnclosure>
|
||||
<podcast:alternateEnclosure type="application/x-mpegURL" length="10562995">
|
||||
<podcast:source uri="https://best-podcast.com/master.m3u8" />
|
||||
<podcast:source uri="ipfs://exampleLinkThatDoesntWorkHLS" />
|
||||
<podcast:source uri="http://somerandom.onion/master.m3u8" />
|
||||
</podcast:alternateEnclosure>
|
||||
|
||||
<podcast:alternateEnclosure type="application/dash+xml" length="10562995">
|
||||
<podcast:source uri="https://example.com/master.mpd" />
|
||||
<podcast:source uri="ipfs://exampleLinkThatDoesntWorkDASH" />
|
||||
<podcast:source uri="http://somerandom.onion/master.mpd" />
|
||||
</podcast:alternateEnclosure>
|
||||
```
|
||||
|
||||
Example use of the "rel" attribute offering "Behind the Scenes" content:
|
||||
```xml
|
||||
<podcast:alternateEnclosure type="audio/mp4" length="2490970" bitrate="160707.74" rel="Behind the Scenes">
|
||||
<podcast:source uri="https://example.com/file.mp4" />
|
||||
<podcast:source uri="ipfs://exampleLinkThatDoesntWork" />
|
||||
</podcast:alternateEnclosure>
|
||||
|
||||
<podcast:alternateEnclosure type="video/mp4" length="10562995" bitrate="681483.55" height="1080" rel="Behind the Scenes">
|
||||
<podcast:source uri="https://example.com/video.mp4" />
|
||||
<podcast:source uri="ipfs://exampleLinkThatDoesntWorkVideo" />
|
||||
</podcast:alternateEnclosure>
|
||||
|
||||
<podcast:alternateEnclosure type="application/x-mpegURL" length="10562995" rel="Behind the Scenes">
|
||||
<podcast:source uri="https://example.com/master.m3u8" />
|
||||
<podcast:source uri="ipfs://exampleLinkThatDoesntWorkHLS" />
|
||||
</podcast:alternateEnclosure>
|
||||
```
|
|
@ -0,0 +1,54 @@
|
|||
# The "podcast:license" Specification
|
||||
|
||||
<small>Version 1.0 by Benjamin Bellamy - 2021.03.05</small>
|
||||
|
||||
<br>
|
||||
|
||||
## Purpose
|
||||
|
||||
Podcasting is an open ecosystem where information travel freely from platform to platform, but that does not mean that podcasts are free.
|
||||
The fact that podcast files are available for anyone to download does not mean that anyone is allowed to do anything with them.
|
||||
But how can one know what is permitted? It is often difficult, or even impossible, to know - even more if you want to manage that automatically.
|
||||
This situation creates awkward conflicts where everyone acts in good faith, everyone shares the same goal (growing audiences for podcasts) but everyone disagrees on what is acceptable.
|
||||
|
||||
- Can the podcast be locally copied? Then can the copy be shared? Should it be fetched from the original location only?
|
||||
- Can the podcast be shared/played for free?
|
||||
- Can the podcast be shared/played for a fixed fee? For a subscription fee?
|
||||
- Can the podcast be used to display ads on it?
|
||||
- Can it be used for audio insertion? Pre-roll, mid-roll, post-roll?
|
||||
- Can it be trimmed, cut, edited? Translated? Dubbed?
|
||||
- Can the shownotes be trimmed, cut, edited? Converted from HTML to plain text?
|
||||
|
||||
We have seen in the past Podcasters demanding to have their podcast removed from a platform because they felt they were being stolen from, even if that would mean less audience for them.
|
||||
If we can provide a way to make what is allowed and what is forbidden crystal clear, we will avoid such conflicts.
|
||||
|
||||
Please note that this document is about what can be done after the podcast is published, not before.
|
||||
(For instance, using copyrighted music or copyrighted material in a podcast is not the subject here.)
|
||||
|
||||
You may read [PODCASTING LEGAL GUIDE: RULES FOR THE REVOLUTION](https://wiki.creativecommons.org/wiki/Podcasting_Legal_Guide) for more information.
|
||||
|
||||
This matter is very complex so this specification only intends to scratch its surface in its current version.
|
||||
|
||||
## Specification
|
||||
|
||||
- **\<podcast:license url="[url to license]" />[License Slug from SPDX List]</podcast:license>**
|
||||
|
||||
Channel (optional | single)
|
||||
|
||||
Item (optional | single)
|
||||
|
||||
This element allows a podcaster to specify a license for a podcast or an episode.
|
||||
|
||||
- `url` (required): This is the url to the license file.
|
||||
|
||||
Examples:
|
||||
- `<podcast:licence url="http://creativecommons.org/licenses/by-nd/4.0/">(CC BY-ND 4.0)</podcast:license>`
|
||||
- `<podcast:licence url="http://creativecommons.org/licenses/by-nc-nd/4.0/">(CC BY-NC-ND 4.0)</podcast:license>`
|
||||
- `<podcast:licence url="http://domain.tld/license.txt">© My Company 2021 - All Rights Reserved</podcast:license>`
|
||||
|
||||
|
||||
Discussion here:
|
||||
- (https://github.com/Podcastindex-org/podcast-namespace/issues/177)
|
||||
- (https://podcastindex.social/web/statuses/105839486748529374)
|
||||
- (https://spdx.org/licenses/)
|
||||
|
|
@ -0,0 +1,195 @@
|
|||
# The "podcast:recommendations" Specification
|
||||
|
||||
<small>Version 1.0 by Benjamin Bellamy - 2021.03.04</small>
|
||||
|
||||
<br>
|
||||
|
||||
## Purpose
|
||||
|
||||
Podcasting is a tremendous ecosystem brimming with tons of stories and ideas that go freely from any platform to any application.
|
||||
That comes with a huge drawback: finding and being found can be harsh.
|
||||
Podcast creators struggle to be found while podcast listeners struggle to find content.
|
||||
Several platforms are now implementing recommendation engines, but these features are expensive and unattainable for small players. Moreover they are slowly creating closed silos and removing power from content creators.
|
||||
This specification is about giving control to content creators on the content they want to recommend, and at the same time providing a free recommendation system to all players.
|
||||
It was heavily inspired by all the work previously done by the Fellowship of the PodcastIndex on the chapters and soundbite tags. May they be thanked for it.
|
||||
GO PODCASTING!!!
|
||||
|
||||
## Specification
|
||||
|
||||
- **\<podcast:recommendations url="[url to json file]" type="application/json" language="[language code]" />**[Optionnal comments]**\</podcast:recommendations>**
|
||||
|
||||
Channel (optional | multiple)
|
||||
|
||||
Item (optional | multiple)
|
||||
|
||||
This element allows a podcaster to specify a list of recommended content for a podcast or an episode.
|
||||
|
||||
The recommended content can be a web page, a podcast, a podcast episode or a soundbite, so that listeners can eventually subscribe to a podcast, add an episode to playlist, add a soundbite to playlist,…
|
||||
|
||||
There may be several occurences of this tag for the same element (one per language, one per topic, one per provider…)
|
||||
|
||||
- `url` (required): This is the url to the json file.
|
||||
- `type` (required): Mime type, must be json.
|
||||
- `language` (optional): The language of the recommended episodes (two-letter language codes, with some possible modifiers, such as "en-us"). If there is no language attribute given, the linked file is assumed to be the same language that is specified by the RSS \<language> element.
|
||||
|
||||
Examples:
|
||||
- `<podcast:recommendations url="https://domain.tld/recommendation?guid=1234" type="application/json" />`
|
||||
- `<podcast:recommendations url="https://domain.tld/recommendation?guid=1234" type="application/json" language="en">Some other cool podcasts</podcast:recommendations>`
|
||||
|
||||
## "Recommendations" Object
|
||||
|
||||
The recommendations object is a simple JSON object with 2 required properties:
|
||||
|
||||
- `version` (required - string) The version number of the format being used.
|
||||
- `recommendations` (required - array) An array of recommendations objects defined below.
|
||||
|
||||
#### Optional Attributes:
|
||||
|
||||
- `comment` (optional - string) A comment on this file.
|
||||
- `title` (optional - string) The name of the source podcast or source podcast episode. Applies to both Channel and Item.
|
||||
- `feed` (optional - string) The RSS URL of the source podcast. Applies to both Channel and Item.
|
||||
- `guid` (optional - string) The GUID of the source episode. Applies to Item only.
|
||||
- `url` (required - string) The enclosure URL of the source episode. Applies to Item only.
|
||||
|
||||
## "Recommendation" Objects
|
||||
|
||||
The "recommendation" object takes this basic form:
|
||||
|
||||
```json
|
||||
{
|
||||
"type": "page",
|
||||
"title": "History of podcasting",
|
||||
"image": "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Podcasts_%28iOS%29.svg/440px-Podcasts_%28iOS%29.svg.png",
|
||||
"url": "https://en.wikipedia.org/wiki/History_of_podcasting"
|
||||
}
|
||||
```
|
||||
|
||||
There are 4 required attributes:
|
||||
|
||||
- `type` (required - string) The type of this recommended content (*"page"*, *"podcast"*, *"episode"* or *"soundbite"*).
|
||||
- `title` (required - string) The title for this recommended content.
|
||||
- `image` (required - string) The image URL for this recommended content. Image must have a 1:1 ratio (square).
|
||||
- `url` (required - string) The URL for this recommended content. If recommended content type is *"podcast"* this is the home page of the podcast. If recommended content type is *"episode"* or *"soundbite"* this is the enclosure URL.
|
||||
|
||||
#### Optional Attributes:
|
||||
|
||||
- `displayStartTime` (optional - float) The start time (in seconds) that tells when this recommended content should start being displayed. If `displayStartTime` is omitted, recommendation will be displayed from the beginning. Applies only when called from an *Item* (not from the *Channel*).
|
||||
- `displayDuration` (optional - float) The duration (in seconds) that tells when this recommended content should stop being displayed. If `displayDuration` is omitted, recommendation will be displayed until the end. Applies only when called from an *Item* (not from the *Channel*).
|
||||
- `feed` (optional - string) The RSS URL of this recommended content. Applies to *"podcast"*, *"episode"* and *"soundbite"* types only.
|
||||
- `guid` (optional - string) The GUID of this recommended content. Applies to *"episode"* and *"soundbite"* types only.
|
||||
- `startTime` (optional - float) The start time (in seconds) of this recommended content. Applies to *"soundbite"* type only.
|
||||
- `duration` (optional - float) The duration (in seconds) of this recommended content. Applies to *"soundbite"* type only.
|
||||
- `relevance` (optional - float) The relevance of this recommended content regarding this Channel or Item. Number must be in [0…1]. 0 is for irrelevant content, 1 is for contents that match perfectly.
|
||||
|
||||
## Basic example
|
||||
|
||||
Here is what a very basic recommendations file may look like:
|
||||
|
||||
```json
|
||||
{
|
||||
"version": "1.0",
|
||||
"recommendations":
|
||||
[
|
||||
{
|
||||
"type": "page",
|
||||
"title": "History of podcasting",
|
||||
"image": "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Podcasts_%28iOS%29.svg/440px-Podcasts_%28iOS%29.svg.png",
|
||||
"url": "https://en.wikipedia.org/wiki/History_of_podcasting"
|
||||
},
|
||||
{
|
||||
"type": "podcast",
|
||||
"title": "Podcasting 2.0",
|
||||
"image": "https://noagendaassets.com/enc/1601061118.678_pciavatar.jpg",
|
||||
"url": "https://podcastindex.org/podcast/920666",
|
||||
"feed": "http://mp3s.nashownotes.com/pc20rss.xml"
|
||||
},
|
||||
{
|
||||
"type": "episode",
|
||||
"title": "Episode 26: Manning Battlestations",
|
||||
"image": "https://noagendaassets.com/enc/1601061118.678_pciavatar.jpg",
|
||||
"url": "https://mp3s.nashownotes.com/PC20-26-2021-02-26-Final.mp3",
|
||||
"feed": "http://mp3s.nashownotes.com/pc20rss.xml",
|
||||
"guid": "PC2026"
|
||||
},
|
||||
{
|
||||
"type": "soundbite",
|
||||
"title": "GO PODCASTING!!!",
|
||||
"image": "https://noagendaassets.com/enc/1601061118.678_pciavatar.jpg",
|
||||
"url": "https://mp3s.nashownotes.com/PC20-26-2021-02-26-Final.mp3",
|
||||
"feed": "http://mp3s.nashownotes.com/pc20rss.xml",
|
||||
"guid": "PC2026",
|
||||
"startTime": 4737.0,
|
||||
"duration": 5.0
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## More complex example
|
||||
|
||||
```json
|
||||
{
|
||||
"version": "1.0",
|
||||
"title": "Podnews podcasting news",
|
||||
"feed": "https://podnews.net/rss",
|
||||
"recommendations":
|
||||
[
|
||||
{
|
||||
"displayStartTime": 0.0,
|
||||
"displayDuration": 120.0,
|
||||
"type": "page",
|
||||
"title": "History of podcasting",
|
||||
"image": "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Podcasts_%28iOS%29.svg/440px-Podcasts_%28iOS%29.svg.png",
|
||||
"url": "https://en.wikipedia.org/wiki/History_of_podcasting",
|
||||
"relevance": 0.8
|
||||
},
|
||||
{
|
||||
"displayStartTime": 120.50,
|
||||
"displayDuration": 60.0,
|
||||
"type": "podcast",
|
||||
"title": "Podcasting 2.0",
|
||||
"image": "https://noagendaassets.com/enc/1601061118.678_pciavatar.jpg",
|
||||
"url": "https://podcastindex.org/podcast/920666",
|
||||
"feed": "http://mp3s.nashownotes.com/pc20rss.xml",
|
||||
"relevance": 0.7
|
||||
},
|
||||
{
|
||||
"displayStartTime": 240.60,
|
||||
"displayDuration": 180.0,
|
||||
"type": "episode",
|
||||
"title": "Episode 26: Manning Battlestations",
|
||||
"image": "https://noagendaassets.com/enc/1601061118.678_pciavatar.jpg",
|
||||
"url": "https://mp3s.nashownotes.com/PC20-26-2021-02-26-Final.mp3",
|
||||
"feed": "http://mp3s.nashownotes.com/pc20rss.xml",
|
||||
"guid": "PC2026",
|
||||
"relevance": 0.5
|
||||
},
|
||||
{
|
||||
"displayStartTime": 3600.10,
|
||||
"displayDuration": 60.0,
|
||||
"type": "soundbite",
|
||||
"title": "GO PODCASTING!!!",
|
||||
"image": "https://noagendaassets.com/enc/1601061118.678_pciavatar.jpg",
|
||||
"url": "https://mp3s.nashownotes.com/PC20-26-2021-02-26-Final.mp3",
|
||||
"feed": "http://mp3s.nashownotes.com/pc20rss.xml",
|
||||
"guid": "PC2026",
|
||||
"startTime": 4737.0,
|
||||
"duration": 5.0,
|
||||
"relevance": 0.9
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Note about privacy
|
||||
|
||||
When pulling in web based data there is the chance that this functionality could be used for tracking.
|
||||
As a safeguard against that, apps should:
|
||||
|
||||
- Block all cookies.
|
||||
- Allow users to ignore `displayStartTime` and `displayDuration` if they want to.
|
||||
- Fetch all recommendations at the same time disregarding `displayStartTime` so that HTTP requests cannot be used as a way of measuring who listens to what.
|
||||
|
||||
Discussion here:
|
||||
- https://github.com/Podcastindex-org/podcast-namespace/issues/205
|
||||
- https://podcastindex.social/web/statuses/105833620038854052
|
|
@ -23,9 +23,11 @@ paypal
|
|||
pinecast
|
||||
podbean
|
||||
podcastaddict
|
||||
podcastguru
|
||||
podcastindex
|
||||
podcasts.com
|
||||
podchaser
|
||||
podcloud
|
||||
podfriend
|
||||
podiant
|
||||
podigee
|
||||
|
|
|
@ -0,0 +1,443 @@
|
|||
[
|
||||
{
|
||||
"key":"Creative Direction\/Director",
|
||||
"group":"Creative Direction",
|
||||
"role":"Director",
|
||||
"description":"The Director is the head of the entire creative production, from creative details to logistics. There is typically a single director for a production. This role is primarily seen in fiction podcasts.",
|
||||
"example":"Jenna Knorr for \"Welcome to Tinsel Town\""
|
||||
},
|
||||
{
|
||||
"key":"Creative Direction\/Assistant Director",
|
||||
"group":"Creative Direction",
|
||||
"role":"Assistant Director",
|
||||
"description":"The Assistant Director is a liaison between the director and the rest of the production, often coordinating the daily logistics of production. There may be multiple assistant directors on a project. This role is primarily seen in fiction podcasts.",
|
||||
"example":"William Wright for \"Inn Between\""
|
||||
},
|
||||
{
|
||||
"key":"Creative Direction\/Executive Producer",
|
||||
"group":"Creative Direction",
|
||||
"role":"Executive Producer",
|
||||
"description":"The Executive Producer is the lead producer on a production. The role can range in terms of creative control with some \"EP\"s owning the creative direction of a podcast (in effect taking the role of director), while others may take a more hands off approach. Executive producer may have raised the money to fund the production, but it is not a necessary responsibility of the role.",
|
||||
"example":"Jane Rotonda for \"The Larry Meiller Show"
|
||||
},
|
||||
{
|
||||
"key":"Creative Direction\/Senior Producer",
|
||||
"group":"Creative Direction",
|
||||
"role":"Senior Producer",
|
||||
"description":"The Senior Producer is the second most senior producer of the production (second to the Executive Producer). They supervise producers and the general direciton and logistics of the entire production.",
|
||||
"example":"Dr. Jeremy Weisz from \"INspired INsider\""
|
||||
},
|
||||
{
|
||||
"key":"Creative Direction\/Producer",
|
||||
"group":"Creative Direction",
|
||||
"role":"Producer",
|
||||
"description":"The Producer coordinates and executes the production of the podcast. There duties can include helping craft the creative direction of a project, budgeting, research, scheduling, and overseeing editing and final production.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Creative Direction\/Associate Producer",
|
||||
"group":"Creative Direction",
|
||||
"role":"Associate Producer",
|
||||
"description":"The Associate Producer performs one or more producer functions as delegated to them by a Producer.",
|
||||
"example":"Alex Baumhardt for \"APM Reports\""
|
||||
},
|
||||
{
|
||||
"key":"Creative Direction\/Development Producer",
|
||||
"group":"Creative Direction",
|
||||
"role":"Development Producer",
|
||||
"description":"The Development Producer coordinates and executes the pre-production create direction of a podcast. Their responsibilities include finding new episode and series ideas and working with writers and researchers to prepare the concept for production.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Creative Direction\/Creative Director",
|
||||
"group":"Creative Direction",
|
||||
"role":"Creative Director",
|
||||
"description":"The Creative Director is responsible for the creative strategy and execution of an entire series. Often this role reaches outside of content to affect accompanying artwork, music, marketing campaigns, and more.",
|
||||
"example":"Neil Druckmann on \"The Official The Last of Us\""
|
||||
},
|
||||
{
|
||||
"key":"Cast\/Host",
|
||||
"group":"Cast",
|
||||
"role":"Host",
|
||||
"description":"The Host is the on-air master of ceremonies of the podcast and a consistent presence on every episode (with the exception of guest hosts and alternative episodes). The Host's duties may include conducting interviews, introducing stories and segments, narrating, and more. There may be more than one Host per podcast or episode.",
|
||||
"example":"Joe Rogan for \"The Joe Rogan Experience\""
|
||||
},
|
||||
{
|
||||
"key":"Cast\/Co-Host",
|
||||
"group":"Cast",
|
||||
"role":"Co-Host",
|
||||
"description":"The Co-Host performs many of the same duties as the host, while taking a secondary presence on the podcast.",
|
||||
"example":"Dax Shepard for \"Armchair Expert\""
|
||||
},
|
||||
{
|
||||
"key":"Cast\/Guest Host",
|
||||
"group":"Cast",
|
||||
"role":"Guest Host",
|
||||
"description":"The Guest Host performs all of the duties of the traditional Host role, but does so in a temporary capacity. Often as a single appearance or a short span of episodes.",
|
||||
"example":"Erica Kelly on \"Let's Taco 'Bout Women and True Crime\""
|
||||
},
|
||||
{
|
||||
"key":"Cast\/Guest",
|
||||
"group":"Cast",
|
||||
"role":"Guest",
|
||||
"description":"The Guest is an outside party who makes an on-air appearance on an episode, often as a participant in a panel or the interview subject.",
|
||||
"example":"Lewis Brindley for \"Triforce!\""
|
||||
},
|
||||
{
|
||||
"key":"Cast\/Voice Actor",
|
||||
"group":"Cast",
|
||||
"role":"Voice Actor",
|
||||
"description":"The Voice Actor gives a performance in which they lend their voice to the role of a character on a podcast episode. While the majority of voice acting roles will be fictional, the role of voice actor may also cover reenactments of real conversations and people.",
|
||||
"example":"Venk Potula for \"Masala Jones\""
|
||||
},
|
||||
{
|
||||
"key":"Cast\/Narrator",
|
||||
"group":"Cast",
|
||||
"role":"Narrator",
|
||||
"description":"The Narrator gives a performance in which tell the exposition of a fictional or non-fictional story, often in a scripted manner. The Narrator may also perform voices of characters within the story, provided they still maintain the role of exposition storyteller or \"voice of God\".",
|
||||
"example":"James Harvey Freetly for \"Lakeshore & Limbo\""
|
||||
},
|
||||
{
|
||||
"key":"Cast\/Announcer",
|
||||
"group":"Cast",
|
||||
"role":"Announcer",
|
||||
"description":"The Announcer gives short vocal performances for the introduction of the podcast, episode topics, segments, guests, prizes, etc. The Announcer is secondary to the host of the podcast and often performs their introductions in a scripted, produced manner.",
|
||||
"example":"Lydia Kapp for \"World Builders Anonymous\""
|
||||
},
|
||||
{
|
||||
"key":"Cast\/Reporter",
|
||||
"group":"Cast",
|
||||
"role":"Reporter",
|
||||
"description":"The Reporter finds and investigates news or stories for the podcast, often interviewing subjects and conducting research. The Reporter can be an on-air position as well, as they convey the insights of their investigation.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Author",
|
||||
"group":"Writing",
|
||||
"role":"Author",
|
||||
"description":"The Author has written prose or poetry originally intended for text that is now being read verbatim on air.",
|
||||
"example":"Heiko Martens for \"The Sigmund Freud Files\""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Editorial Director",
|
||||
"group":"Writing",
|
||||
"role":"Editorial Director",
|
||||
"description":"The Editorial Director heads all departments of the organization behind the podcast and is held accountable for delegating tasks to staff members and managing them. They are the highest-ranking editor and are responsible for the direction, accuracy, and decisions behind podcast content.",
|
||||
"example":"Christopher Twarowski for \"News Beat\""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Co-Writer",
|
||||
"group":"Writing",
|
||||
"role":"Co-Writer",
|
||||
"description":"The Co-Writer has written a podcast in partnership with 1-2 other writers, sharing credit together for the creative arc, dialogue, and narration.",
|
||||
"example":"Max Eggers on \"THE LIGHTHOUSE\""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Writer",
|
||||
"group":"Writing",
|
||||
"role":"Writer",
|
||||
"description":"The Writer has written the story or dialogue of a podcast. The Writer is often involved in the creative arc of a production, but this is not a necessary requirement. Writers may work in fictional or non-fictional podcasts.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Songwriter",
|
||||
"group":"Writing",
|
||||
"role":"Songwriter",
|
||||
"description":"The Songwriter has written the lyrics and\/or accompanying music to an original song created for the podcast and played on an episode.",
|
||||
"example":"Ben Lapidus for \"Gay Future\""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Guest Writer",
|
||||
"group":"Writing",
|
||||
"role":"Guest Writer",
|
||||
"description":"The Guest Writer performs the duties of a writer in a temporary capacity, often as a single episode or a short span of episodes. The distinction between writer and Guest Writer depends on the decision of the podcast itself.",
|
||||
"example":"Beth Crane for \"The Unseen Hour\""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Story Editor",
|
||||
"group":"Writing",
|
||||
"role":"Story Editor",
|
||||
"description":"The Story Editor is responsible for broad stroke direction of the story arc and character development of a podcast. Often seen in fiction and documentary podcasts.",
|
||||
"example":"Gabrielle Loux for \"The NoSleep Podcast\""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Managing Editor",
|
||||
"group":"Writing",
|
||||
"role":"Managing Editor",
|
||||
"description":"The Managing Editor oversees and coordinates the podcasts editorial activities, providing both detailed editing and managing a staff of writers and editors to ensure proper deadlines and budgets are being met.",
|
||||
"example":"Flora Lichtman for \"Every Little Thing\""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Script Editor",
|
||||
"group":"Writing",
|
||||
"role":"Script Editor",
|
||||
"description":"The Script Editor provides notes and editing to the recording script in a very \"hands on\" role. The Script Editor is primarily used in fiction, documentary, and advertisements where scripted recordings are prevalent.",
|
||||
"example":"Alex Rioux for \"Welcome to Tinsel Town: A Christmas Adventure\""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Script Coordinator",
|
||||
"group":"Writing",
|
||||
"role":"Script Coordinator",
|
||||
"description":"The Script Coordinator packages the final script with annotations that reflect specific logistics and creative cues for recording and production.",
|
||||
"example":"Alex Rioux for \"Welcome to Tinsel Town: A Christmas Adventure\""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Researcher",
|
||||
"group":"Writing",
|
||||
"role":"Researcher",
|
||||
"description":"The Researcher coordinates the sourcing and verification of information that can then be used for the content of a podcast episode, often informing the direction of a story based on new insights uncovered.",
|
||||
"example":"Dave Grave for \"The Zero Brain Podcast\""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Editor",
|
||||
"group":"Writing",
|
||||
"role":"Editor",
|
||||
"description":"The Editor reviews and prepares scripts for conveying information in a creative, accurate, and engaging manner.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Fact Checker",
|
||||
"group":"Writing",
|
||||
"role":"Fact Checker",
|
||||
"description":"The Fact Checker reviews the content of a podcast for factual correctness and verifies that quote attribution is correct. They use a variety of tools including 3rd party research and individual outreach. Often the Fact Checker will also provide notes on how the production can avoid the confusion in the delivery of information in the episode.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Translator",
|
||||
"group":"Writing",
|
||||
"role":"Translator",
|
||||
"description":"The Translator converts content from one language to another for the podcast. This can be interviews, dialogue, text documents, and more. The Translator's work may be used on-air or behind-the-scenes during the production\/research process.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Transcriber",
|
||||
"group":"Writing",
|
||||
"role":"Transcriber",
|
||||
"description":"The Transcriber turns dialogue and audio cues into text, which can be used internally for production processes or displayed publicly for listeners.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Logger",
|
||||
"group":"Writing",
|
||||
"role":"Logger",
|
||||
"description":"The Logger reviews and documents the contents and timestamps of raw audio in service of producers and editors in the production process.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Audio Production\/Studio Coordinator",
|
||||
"group":"Audio Production",
|
||||
"role":"Studio Coordinator",
|
||||
"description":"The Studio Coordinator manages the recording studio and audio technicians working within the studio at the time of recording.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Audio Production\/Technical Director",
|
||||
"group":"Audio Production",
|
||||
"role":"Technical Director",
|
||||
"description":"The Technical Director oversees the podcast's recording and production as it is involved with audio technologies including hardware and software, and managing roles involved these areas.",
|
||||
"example":"Adam Raymonda on \"Celebuzz'd\""
|
||||
},
|
||||
{
|
||||
"key":"Audio Production\/Technical Manager",
|
||||
"group":"Audio Production",
|
||||
"role":"Technical Manager",
|
||||
"description":"The Technical Manager coordinates a team of audio engineers and studio staff, in the recording and production as it is involved with audio technologies including hardware and software.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Audio Production\/Audio Engineer",
|
||||
"group":"Audio Production",
|
||||
"role":"Audio Engineer",
|
||||
"description":"The Audio Engineer helps record and produce audio by setting up recording environments, monitoring recoding, and providing technical adjustments throughout. The Audio Engineer is present during the recording process, most often making adjustments in real time. The Audio Engineer may work with conversation, music, foley, or any other type of audio.",
|
||||
"example":"Peter Leonard from \"Startup Podcast\""
|
||||
},
|
||||
{
|
||||
"key":"Audio Production\/Remote Recording Engineer",
|
||||
"group":"Audio Production",
|
||||
"role":"Remote Recording Engineer",
|
||||
"description":"The Remote Recording Engineer ensures the proper recording of conversations taking place in multiple locations across a phone line or internet connection. The Remote Recording Engineer evaluates the different recording set ups and attempts to reconcile them into a cohesive sound, while also monitoring the recording process to capture the best possible audio.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Audio Production\/Post Production Engineer",
|
||||
"group":"Audio Production",
|
||||
"role":"Post Production Engineer",
|
||||
"description":"The Post Production Engineer evaluates audio technologies and their application as it pertains to the final steps of production and publication.",
|
||||
"example":"Dick Wound for \"Queens Next Door\""
|
||||
},
|
||||
{
|
||||
"key":"Audio Post-Production\/Audio Editor",
|
||||
"group":"Audio Post-Production",
|
||||
"role":"Audio Editor",
|
||||
"description":"The Audio Editor cuts and rearranges audio for clarity and storytelling purposes. The Audio Editor may also perform general audio processing and mastering.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Audio Post-Production\/Sound Designer",
|
||||
"group":"Audio Post-Production",
|
||||
"role":"Sound Designer",
|
||||
"description":"The Sound Designer creates and composes a variety of audio elements. These elements are mostly secondary to speech, but a Sound Designer may creatively edit\/produce speech elements in an artist manner.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Audio Post-Production\/Foley Artist",
|
||||
"group":"Audio Post-Production",
|
||||
"role":"Foley Artist",
|
||||
"description":"The Foley Artist sound effects for a podcast and can do so both via physical recording and digital processing, or a combination of the two.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Audio Post-Production\/Composer",
|
||||
"group":"Audio Post-Production",
|
||||
"role":"Composer",
|
||||
"description":"The Composer writes an original musical piece (or multiple) that is played on the published episode. The Composer will also often be the performer of said musical piece.",
|
||||
"example":"Marcus Thorne Bagala from \"This American Life\""
|
||||
},
|
||||
{
|
||||
"key":"Audio Post-Production\/Theme Music",
|
||||
"group":"Audio Post-Production",
|
||||
"role":"Theme Music",
|
||||
"description":"Theme Music is a musical piece that accompanies the podcast across multiple episodes, most often at the beginning of an episode. The Theme Music is used to introduce the podcast as a brand. This role is for the creator of the theme music.",
|
||||
"example":"Mark Philips from \"Startup Podcast\""
|
||||
},
|
||||
{
|
||||
"key":"Audio Post-Production\/Music Production",
|
||||
"group":"Audio Post-Production",
|
||||
"role":"Music Production",
|
||||
"description":"The Music Production role helps creatively craft music in a role separate from the writing of said music. Music Production often involves creative decisions per the method in which music is recorded, the arrangement of instruments, the use of effects, and more.",
|
||||
"example":"Storm Duper for \"Faking Star Wars Radio\""
|
||||
},
|
||||
{
|
||||
"key":"Audio Post-Production\/Music Contributor",
|
||||
"group":"Audio Post-Production",
|
||||
"role":"Music Contributor",
|
||||
"description":"The Music Contributor is the creator of music that was used for the podcast but not necessarily produced specifically for the podcast. Often a podcast will use an existing musical piece and credit the original creator.",
|
||||
"example":"Bobby Lord from \"Startup Podcast\""
|
||||
},
|
||||
{
|
||||
"key":"Administration\/Production Coordinator",
|
||||
"group":"Administration",
|
||||
"role":"Production Coordinator",
|
||||
"description":"The Production Coordinator is responsible for managing the logistics of the production process from recording to publication, including attaining the required permissions and permits, connecting the various production and recording teams, coordinating the creation of post-production metadata, budgeting, and more.",
|
||||
"example":"Taneya Boyde on \"Ready For Change?\""
|
||||
},
|
||||
{
|
||||
"key":"Administration\/Booking Coordinator",
|
||||
"group":"Administration",
|
||||
"role":"Booking Coordinator",
|
||||
"description":"The Booking Coordinator is responsible for bringing on new guests for interviews, including sourcing guests, scheduling interviews, onboarding materials, and post-publication processes.",
|
||||
"example":"Meryl Klemow for \"Campfire Sht Show\""
|
||||
},
|
||||
{
|
||||
"key":"Administration\/Production Assistant",
|
||||
"group":"Administration",
|
||||
"role":"Production Assistant",
|
||||
"description":"The Production Assistant helps support an executive member of a podcast (often a director or producer), helping prepare them in a variety of ways including scheduling, logistics, communications, and more.",
|
||||
"example":"Wallace Mack for \"The Nod\""
|
||||
},
|
||||
{
|
||||
"key":"Administration\/Content Manager",
|
||||
"group":"Administration",
|
||||
"role":"Content Manager",
|
||||
"description":"The Content Manager is responsible for the distribution of a podcast's content within and outside of episode, including but not limited to clips, newsletters, images, cross-promotions, and more.",
|
||||
"example":"Kenneth Lee Johnson II for \"Malice Corp Smack Talk\""
|
||||
},
|
||||
{
|
||||
"key":"Administration\/Marketing Manager",
|
||||
"group":"Administration",
|
||||
"role":"Marketing Manager",
|
||||
"description":"The Marketing Manager is responsibile for the promotion of a podcast's content through various awareness strategies such as social media campaigns, cultivating a web presence, managing public relations and communications strategies, and other creative techniques to acquire and retain listeners.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Administration\/Sales Representative",
|
||||
"group":"Administration",
|
||||
"role":"Sales Representative",
|
||||
"description":"The Sales Representative is responsible for monetization of podcast content through managing and selling advertising inventory.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Administration\/Sales Manager",
|
||||
"group":"Administration",
|
||||
"role":"Sales Manager",
|
||||
"description":"The Sales Manager is responsible for all aspects of podcast monetization such as overseeing Sales Representatives, managing advertising inventory, and devising monetization strategies through channels such as affiliate partnerships, merchandise, live events, and other revenue strategies.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Visuals\/Graphic Designer",
|
||||
"group":"Visuals",
|
||||
"role":"Graphic Designer",
|
||||
"description":"The Graphic Designer is someone who has created any custom visuals to accompany the podcast in a variety of ways.",
|
||||
"example":"Sky Knight for \"The XP Billionaires\""
|
||||
},
|
||||
{
|
||||
"key":"Visuals\/Cover Art Designer",
|
||||
"group":"Visuals",
|
||||
"role":"Cover Art Designer",
|
||||
"description":"The Cover Art Designer creates the displayed cover art of a podcast or episode. For clarity, cover art is the main image (almost always square in dimensions) accompanying the podcast in directories, while episode cover art is displayed in a similar manner at the episode level. This role may be a digital designer, artist, photographer or any other visual creative.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Community\/Social Media Manager",
|
||||
"group":"Community",
|
||||
"role":"Social Media Manager",
|
||||
"description":"The Social Media Manager runs the social media accounts of the podcast, including but not limited to the creation of content, posting, replies, monitoring, and more.",
|
||||
"example":"Tom Joshi-Cale for \"World on a String\""
|
||||
},
|
||||
{
|
||||
"key":"Misc.\/Consultant",
|
||||
"group":"Misc.",
|
||||
"role":"Consultant",
|
||||
"description":"A Consultant is a third-party position where someone from outside the organization works on a project, often offering a specific expertise. This is a modifier role and can be applied to any work area.",
|
||||
"example":"Ross Wilcock for \"Being Kenzie-Feature Length Immersive Horror\""
|
||||
},
|
||||
{
|
||||
"key":"Misc.\/Intern",
|
||||
"group":"Misc.",
|
||||
"role":"Intern",
|
||||
"description":"An Intern is an apprentice position where someone works for a limited time within an organization to gain work experience in a specific field. This is a modifier role and can be applied to any work area.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Video Production\/Camera Operator",
|
||||
"group":"Video Production",
|
||||
"role":"Camera Operator",
|
||||
"description":"A camera operator is responsible for capturing and recording all aspects of a scene for film and television. They must understand the technicalities of how to operate a camera, frame a proper shot with respect to lighting and staging, focus the lens and have a visual eye to achieve a specific look.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Video Production\/Lighting Designer",
|
||||
"group":"Video Production",
|
||||
"role":"Lighting Designer",
|
||||
"description":"A lighting designer works with the DP and Director to craft a specific look and feel of a scene utilizing various lighting techniques. They must be able to interpret the creative direction and bring it to life.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Video Production\/Camera Grip",
|
||||
"group":"Video Production",
|
||||
"role":"Camera Grip",
|
||||
"description":"A camera grip is responsible for building and maintaining all the parts of a camera and its accessories such as the tripods, cranes, dollies, etc.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Video Production\/Assistant Camera",
|
||||
"group":"Video Production",
|
||||
"role":"Assistant Camera",
|
||||
"description":"1st AC is responsible for the camera equipment, building the cameras before the start of each day, organizing all the parts and various accessories, swapping out lenses when necessary and also pulls focus for the DP and camera operators. The AC will also wrap out each day by cleaning the cameras, writing camera notes, marking the media cards, and delivering them to the DIT.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Video Post-Production\/Editor",
|
||||
"group":"Video Post-Production",
|
||||
"role":"Editor",
|
||||
"description":"Television editors are responsible for taking the shot footage and clips and blending them together to craft the director's vision and storytelling.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Video Post-Production\/Assistant Editor",
|
||||
"group":"Video Post-Production",
|
||||
"role":"Assistant Editor",
|
||||
"description":"The Assistant Editor is responsible for taking the media from the set, ingesting them into the designated editing software, and organizing the footage in an efficient way for the editor. They must also pay close attention to ensure that audio and video are synced and that all footage from set is ingested properly.",
|
||||
"example":""
|
||||
}
|
||||
]
|
|
@ -0,0 +1,443 @@
|
|||
[
|
||||
{
|
||||
"key":"Creative Direction\/Director",
|
||||
"group":"Direction de Cr\u00e9ation",
|
||||
"role":"R\u00e9alisat\u00b7eur\u00b7rice",
|
||||
"description":"Le directeur est \u00e0 la t\u00eate de toute la production cr\u00e9ative, des d\u00e9tails cr\u00e9atifs \u00e0 la logistique. Il n'y a g\u00e9n\u00e9ralement qu'un seul r\u00e9alisateur pour une production. Ce r\u00f4le est principalement vu dans les podcasts de fiction.",
|
||||
"example":"Jenna Knorr pour \u00ab\u202fBienvenue \u00e0 Tinsel Town\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Creative Direction\/Assistant Director",
|
||||
"group":"Direction de Cr\u00e9ation",
|
||||
"role":"R\u00e9alisat\u00b7eur\u00b7rice-Assistant\u00b7e",
|
||||
"description":"Le directeur adjoint est une liaison entre le r\u00e9alisateur et le reste de la production, coordonnant souvent la logistique quotidienne de la production. Il peut y avoir plusieurs directeurs adjoints sur un projet. Ce r\u00f4le est principalement vu dans les podcasts de fiction.",
|
||||
"example":"William Wright pour \u00ab\u202fInn Between\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Creative Direction\/Executive Producer",
|
||||
"group":"Direction de Cr\u00e9ation",
|
||||
"role":"Product\u00b7eur\u00b7rice ex\u00e9cut\u00b7if\u00b7ive",
|
||||
"description":"Le producteur ex\u00e9cutif est le producteur principal d'une production. Le r\u00f4le peut varier en termes de contr\u00f4le cr\u00e9atif, certains \u00ab\u202fEP\u202f\u00bb d\u00e9tenant la direction cr\u00e9ative d'un podcast (en fait en assumant le r\u00f4le de r\u00e9alisateur), tandis que d'autres peuvent adopter une approche plus pratique. Le producteur ex\u00e9cutif a peut-\u00eatre collect\u00e9 des fonds pour financer la production, mais ce n'est pas une responsabilit\u00e9 n\u00e9cessaire du r\u00f4le.",
|
||||
"example":"Jane Rotonda pour \u00ab\u202fThe Larry Meiller Show\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Creative Direction\/Senior Producer",
|
||||
"group":"Direction de Cr\u00e9ation",
|
||||
"role":"Premi\u00b7er\u00b7\u00e8re R\u00e9alisat\u00b7eur\u00b7rice",
|
||||
"description":"Le producteur principal est le deuxi\u00e8me producteur le plus ancien de la production (deuxi\u00e8me apr\u00e8s le producteur ex\u00e9cutif). Ils supervisent les producteurs et la direction g\u00e9n\u00e9rale et la logistique de l'ensemble de la production.",
|
||||
"example":"Dr. Jeremy Weisz de \u00ab\u202fINspired INsider\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Creative Direction\/Producer ",
|
||||
"group":"Direction de Cr\u00e9ation",
|
||||
"role":"Product\u00b7eur\u00b7rice",
|
||||
"description":"Le producteur coordonne et ex\u00e9cute la production du podcast. Ces t\u00e2ches peuvent inclure l'aide \u00e0 l'\u00e9laboration de la direction cr\u00e9ative d'un projet, la budg\u00e9tisation, la recherche, la planification et la supervision de l'\u00e9dition et de la production finale.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Creative Direction\/Associate Producer",
|
||||
"group":"Direction de Cr\u00e9ation",
|
||||
"role":"Product\u00b7eur\u00b7rice D\u00e9l\u00e9gu\u00e9\u00b7e",
|
||||
"description":"Le producteur associ\u00e9 remplit une ou plusieurs fonctions de producteur qui lui sont d\u00e9l\u00e9gu\u00e9es par un producteur.",
|
||||
"example":"Alex Baumhardt pour \u00ab\u202fAPM Reports\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Creative Direction\/Development Producer",
|
||||
"group":"Direction de Cr\u00e9ation",
|
||||
"role":"Product\u00b7eur\u00b7rice au D\u00e9veloppement",
|
||||
"description":"Le producteur de d\u00e9veloppement coordonne et ex\u00e9cute la direction de cr\u00e9ation de pr\u00e9-production d'un podcast. Leurs responsabilit\u00e9s consistent \u00e0 trouver de nouvelles id\u00e9es d'\u00e9pisodes et de s\u00e9ries et \u00e0 travailler avec des \u00e9crivains et des chercheurs pour pr\u00e9parer le concept pour la production.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Creative Direction\/Creative Director",
|
||||
"group":"Direction de Cr\u00e9ation",
|
||||
"role":"Direct\u00b7eur\u00b7rice de la Cr\u00e9ation",
|
||||
"description":"Le directeur de la cr\u00e9ation est responsable de la strat\u00e9gie cr\u00e9ative et de l'ex\u00e9cution de toute une s\u00e9rie. Souvent, ce r\u00f4le d\u00e9passe le contenu pour affecter les \u0153uvres d'art, la musique, les campagnes marketing, etc.",
|
||||
"example":"Neil Druckmann sur \u00ab\u202fThe Official The Last of Us\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Cast\/Host",
|
||||
"group":"Distribution",
|
||||
"role":"Pr\u00e9sentat\u00b7eur\u00b7rice",
|
||||
"description":"L'h\u00f4te est le ma\u00eetre des c\u00e9r\u00e9monies \u00e0 l'antenne du podcast et une pr\u00e9sence constante sur chaque \u00e9pisode (\u00e0 l'exception des h\u00f4tes invit\u00e9s et des \u00e9pisodes alternatifs). Les t\u00e2ches de l'h\u00f4te peuvent inclure la r\u00e9alisation d'entrevues, l'introduction d'histoires et de segments, la narration, etc. Il peut y avoir plus d'un h\u00f4te par podcast ou \u00e9pisode.",
|
||||
"example":"Joe Rogan pour \u00ab\u202fThe Joe Rogan Experience\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Cast\/Co-Host",
|
||||
"group":"Distribution",
|
||||
"role":"Co-Pr\u00e9sentat\u00b7eur\u00b7rice",
|
||||
"description":"Le co-animateur remplit bon nombre des m\u00eames t\u00e2ches que l'h\u00f4te, tout en prenant une pr\u00e9sence secondaire sur le podcast.",
|
||||
"example":"Dax Shepard pour \u00ab\u202fArmchair Expert\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Cast\/Guest Host",
|
||||
"group":"Distribution",
|
||||
"role":"Pr\u00e9sentat\u00b7eur\u00b7rice Exceptionnel\u00b7le",
|
||||
"description":"L'h\u00f4te invit\u00e9 remplit toutes les fonctions du r\u00f4le d'h\u00f4te traditionnel, mais le fait \u00e0 titre temporaire. Souvent en une seule apparition ou en une courte p\u00e9riode d'\u00e9pisodes.",
|
||||
"example":"Erica Kelly sur \u00ab\u202fLet's Taco 'Bout Women and True Crime\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Cast\/Guest",
|
||||
"group":"Distribution",
|
||||
"role":"Invit\u00e9\u00b7e",
|
||||
"description":"L'invit\u00e9 est une partie ext\u00e9rieure qui fait une apparition \u00e0 l'antenne sur un \u00e9pisode, souvent en tant que participant \u00e0 un panel ou sujet de l'interview.",
|
||||
"example":"Lewis Brindley pour \u00ab\u202fTriforce!\""
|
||||
},
|
||||
{
|
||||
"key":"Cast\/Voice Actor",
|
||||
"group":"Distribution",
|
||||
"role":"Com\u00e9dien\u00b7ne Voix",
|
||||
"description":"The Voice Actor donne une performance dans laquelle ils pr\u00eatent leur voix au r\u00f4le d'un personnage dans un \u00e9pisode de podcast. Alors que la majorit\u00e9 des r\u00f4les de doublage seront fictifs, le r\u00f4le de doubleur peut \u00e9galement couvrir des reconstitutions de conversations et de personnes r\u00e9elles.",
|
||||
"example":"Venk Potula pour \u00ab\u202fMasala Jones\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Cast\/Narrator",
|
||||
"group":"Distribution",
|
||||
"role":"Narrat\u00b7eur\u00b7rice",
|
||||
"description":"The Narrator donne une performance dans laquelle racontent l'exposition d'une histoire fictive ou non fictive, souvent de mani\u00e8re sc\u00e9naris\u00e9e. Le narrateur peut \u00e9galement interpr\u00e9ter des voix de personnages dans l'histoire, \u00e0 condition qu'ils conservent toujours le r\u00f4le de conteur d'exposition ou de \u00ab\u202fvoix de Dieu\u202f\u00bb.",
|
||||
"example":"James Harvey Freetly pour \u00ab\u202fLakeshore & Limbo\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Cast\/Announcer",
|
||||
"group":"Distribution",
|
||||
"role":"Annonc\u00b7eur\u00b7euse",
|
||||
"description":"L'annonceur donne de courtes performances vocales pour l'introduction du podcast, des sujets d'\u00e9pisode, des segments, des invit\u00e9s, des prix, etc. L'annonceur est secondaire par rapport \u00e0 l'h\u00f4te du podcast et effectue souvent ses introductions d'une mani\u00e8re sc\u00e9naris\u00e9e et produite.",
|
||||
"example":"Lydia Kapp pour \u00ab\u202fWorld Builders Anonymous\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Cast\/Reporter",
|
||||
"group":"Distribution",
|
||||
"role":"Journaliste",
|
||||
"description":"Le journaliste trouve et \u00e9tudie des nouvelles ou des histoires pour le podcast, interviewant souvent des sujets et menant des recherches. Le journaliste peut \u00e9galement \u00eatre un poste \u00e0 l'antenne, car il transmet les id\u00e9es de son enqu\u00eate.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Author",
|
||||
"group":"\u00c9criture",
|
||||
"role":"Aut\u00b7eur\u00b7rice",
|
||||
"description":"L'auteur a \u00e9crit de la prose ou de la po\u00e9sie initialement destin\u00e9e \u00e0 un texte qui est maintenant lu textuellement \u00e0 l'antenne.",
|
||||
"example":"Heiko Martens pour \u00ab\u202fThe Sigmund Freud Files\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Editorial Director",
|
||||
"group":"\u00c9criture",
|
||||
"role":"Direct\u00b7eur\u00b7rice de la R\u00e9daction",
|
||||
"description":"Le directeur de la r\u00e9daction dirige tous les d\u00e9partements de l'organisation derri\u00e8re le podcast et est responsable de la d\u00e9l\u00e9gation des t\u00e2ches aux membres du personnel et de leur gestion. Ils sont l'\u00e9diteur le plus haut plac\u00e9 et sont responsables de la direction, de l'exactitude et des d\u00e9cisions derri\u00e8re le contenu de podcast.",
|
||||
"example":"Christopher Twarowski pour \u00ab\u202fNews Beat\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Co-Writer",
|
||||
"group":"\u00c9criture",
|
||||
"role":"Co-r\u00e9dact\u00b7eur\u00b7rice",
|
||||
"description":"Le co-sc\u00e9nariste a \u00e9crit un podcast en partenariat avec 1 ou 2 autres \u00e9crivains, partageant ainsi le m\u00e9rite de l'arc cr\u00e9atif, du dialogue et de la narration.",
|
||||
"example":"Max Eggers dans \u00ab\u202fTHE LIGHTHOUSE\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Writer",
|
||||
"group":"\u00c9criture",
|
||||
"role":"R\u00e9dact\u00b7eur\u00b7rice",
|
||||
"description":"The Writer a \u00e9crit l'histoire ou le dialogue d'un podcast. L'\u00e9crivain est souvent impliqu\u00e9 dans l'arc cr\u00e9atif d'une production, mais ce n'est pas une condition n\u00e9cessaire. Les \u00e9crivains peuvent travailler dans des podcasts fictifs ou non fictifs.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Songwriter",
|
||||
"group":"\u00c9criture",
|
||||
"role":"Aut\u00b7eur\u00b7rice Composit\u00b7eur\u00b7rice",
|
||||
"description":"L'auteur-compositeur a \u00e9crit les paroles et \/ ou la musique d'accompagnement d'une chanson originale cr\u00e9\u00e9e pour le podcast et jou\u00e9e sur un \u00e9pisode.",
|
||||
"example":"Ben Lapidus pour \u00ab\u202fGay Future\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Guest Writer",
|
||||
"group":"\u00c9criture",
|
||||
"role":"R\u00e9dact\u00b7eur\u00b7rice Invit\u00e9\u00b7e",
|
||||
"description":"L'\u00e9crivain invit\u00e9 remplit les fonctions d'\u00e9crivain \u00e0 titre temporaire, souvent sous la forme d'un \u00e9pisode unique ou d'une courte p\u00e9riode d'\u00e9pisodes. La distinction entre \u00e9crivain et \u00e9crivain invit\u00e9 d\u00e9pend de la d\u00e9cision du podcast lui-m\u00eame.",
|
||||
"example":"Beth Crane pour \u00ab\u202fThe Unseen Hour\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Story Editor",
|
||||
"group":"\u00c9criture",
|
||||
"role":"R\u00e9dact\u00b7eur\u00b7rice en Chef ",
|
||||
"description":"L'\u00e9diteur d'histoire est responsable de la direction g\u00e9n\u00e9rale de l'arc de l'histoire et du d\u00e9veloppement des personnages d'un podcast. Souvent vu dans les podcasts de fiction et documentaires.",
|
||||
"example":"Gabrielle Loux pour \u00ab\u202fThe NoSleep Podcast\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Managing Editor",
|
||||
"group":"\u00c9criture",
|
||||
"role":"Direct\u00b7eur\u00b7rice de la Publication",
|
||||
"description":"Le r\u00e9dacteur en chef supervise et coordonne les activit\u00e9s \u00e9ditoriales des podcasts, en fournissant \u00e0 la fois une \u00e9dition d\u00e9taill\u00e9e et la gestion d'une \u00e9quipe de r\u00e9dacteurs et d'\u00e9diteurs pour s'assurer que les d\u00e9lais et les budgets sont respect\u00e9s.",
|
||||
"example":"Flora Lichtman pour \u00ab\u202fEvery Little Thing\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Script Editor",
|
||||
"group":"\u00c9criture",
|
||||
"role":"Chef\u00b7fe-Sc\u00e9nariste",
|
||||
"description":"L'\u00e9diteur de script fournit des notes et des modifications au script d'enregistrement dans un r\u00f4le tr\u00e8s pratique. L'\u00e9diteur de script est principalement utilis\u00e9 dans la fiction, les documentaires et les publicit\u00e9s o\u00f9 les enregistrements sc\u00e9naris\u00e9s sont r\u00e9pandus.",
|
||||
"example":"Alex Rioux pour \u00ab\u202fBienvenue \u00e0 Tinsel Town: A Christmas Adventure\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Script Coordinator",
|
||||
"group":"\u00c9criture",
|
||||
"role":"Coordinat\u00b7eur\u00b7rice de sc\u00e9nario",
|
||||
"description":"Le coordinateur du sc\u00e9nario emballe le script final avec des annotations qui refl\u00e8tent une logistique sp\u00e9cifique et des indices cr\u00e9atifs pour l'enregistrement et la production.",
|
||||
"example":"Alex Rioux pour \u00ab\u202fBienvenue \u00e0 Tinsel Town: A Christmas Adventure\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Researcher",
|
||||
"group":"\u00c9criture",
|
||||
"role":"Enqu\u00eat\u00b7eur\u00b7rice",
|
||||
"description":"Le chercheur coordonne la recherche et la v\u00e9rification des informations qui peuvent ensuite \u00eatre utilis\u00e9es pour le contenu d'un \u00e9pisode de podcast, informant souvent la direction d'une histoire en fonction de nouvelles informations d\u00e9couvertes.",
|
||||
"example":"Dave Grave pour \u00ab\u202fThe Zero Brain Podcast\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Editor ",
|
||||
"group":"\u00c9criture",
|
||||
"role":"\u00c9dit\u00b7eur\u00b7rice",
|
||||
"description":"L'\u00e9diteur examine et pr\u00e9pare des scripts pour transmettre des informations de mani\u00e8re cr\u00e9ative, pr\u00e9cise et engageante.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Fact Checker ",
|
||||
"group":"\u00c9criture",
|
||||
"role":"Contr\u00f4l\u00b7eur\u00b7euse Qualit\u00e9",
|
||||
"description":"Le v\u00e9rificateur de faits examine le contenu d'un podcast pour v\u00e9rifier l'exactitude des faits et v\u00e9rifie que l'attribution des citations est correcte. Ils utilisent une vari\u00e9t\u00e9 d'outils, y compris la recherche de tiers et la sensibilisation individuelle. Souvent, le v\u00e9rificateur de faits fournira \u00e9galement des notes sur la fa\u00e7on dont la production peut \u00e9viter la confusion dans la livraison des informations dans l'\u00e9pisode.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Translator",
|
||||
"group":"\u00c9criture",
|
||||
"role":"Traduct\u00b7eur\u00b7rice",
|
||||
"description":"Le traducteur convertit le contenu d'une langue \u00e0 une autre pour le podcast. Cela peut \u00eatre des interviews, des dialogues, des documents texte, etc. Le travail du traducteur peut \u00eatre utilis\u00e9 \u00e0 l'antenne ou en coulisses pendant le processus de production \/ recherche.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Transcriber",
|
||||
"group":"\u00c9criture",
|
||||
"role":"Transcript\u00b7eur\u00b7rice",
|
||||
"description":"Le transcripteur transforme les dialogues et les signaux audio en texte, qui peut \u00eatre utilis\u00e9 en interne pour les processus de production ou affich\u00e9 publiquement pour les auditeurs.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Writing\/Logger ",
|
||||
"group":"\u00c9criture",
|
||||
"role":"Archiviste",
|
||||
"description":"The Logger examine et documente le contenu et les horodatages de l'audio brut au service des producteurs et des \u00e9diteurs dans le processus de production.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Audio Production\/Studio Coordinator ",
|
||||
"group":"Production Audio",
|
||||
"role":"Coordinat\u00b7eur\u00b7rice de Studio",
|
||||
"description":"Le coordonnateur de studio g\u00e8re le studio d'enregistrement et les techniciens audio travaillant dans le studio au moment de l'enregistrement.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Audio Production\/Technical Director",
|
||||
"group":"Production Audio",
|
||||
"role":"Direct\u00b7eur\u00b7rice Technique",
|
||||
"description":"Le directeur technique supervise l'enregistrement et la production du podcast car il est impliqu\u00e9 dans les technologies audio, y compris le mat\u00e9riel et les logiciels, et la gestion des r\u00f4les impliqu\u00e9s dans ces domaines.",
|
||||
"example":"Adam Raymonda sur \u00ab\u202fCelebuzz'd\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Audio Production\/Technical Manager",
|
||||
"group":"Production Audio",
|
||||
"role":"Responsable Technique",
|
||||
"description":"Le directeur technique coordonne une \u00e9quipe d'ing\u00e9nieurs du son et de personnel de studio, dans l'enregistrement et la production car il est impliqu\u00e9 dans les technologies audio, y compris le mat\u00e9riel et les logiciels.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Audio Production\/Audio Engineer",
|
||||
"group":"Production Audio",
|
||||
"role":"Ing\u00e9nieur\u00b7e du Son",
|
||||
"description":"L'ing\u00e9nieur audio aide \u00e0 enregistrer et \u00e0 produire de l'audio en configurant des environnements d'enregistrement, en surveillant le recodage et en apportant des ajustements techniques tout au long. L'ing\u00e9nieur audio est pr\u00e9sent pendant le processus d'enregistrement, effectuant le plus souvent des ajustements en temps r\u00e9el. L'ing\u00e9nieur du son peut travailler avec des conversations, de la musique, des chansons ou tout autre type d'audio.",
|
||||
"example":"Peter Leonard de \u00ab\u202fStartup Podcast\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Audio Production\/Remote Recording Engineer ",
|
||||
"group":"Production Audio",
|
||||
"role":"Pren\u00b7eur\u00b7euse de Son sur Site",
|
||||
"description":"L'ing\u00e9nieur d'enregistrement \u00e0 distance assure l'enregistrement correct des conversations ayant lieu \u00e0 plusieurs endroits sur une ligne t\u00e9l\u00e9phonique ou une connexion Internet. L'ing\u00e9nieur d'enregistrement \u00e0 distance \u00e9value les diff\u00e9rentes configurations d'enregistrement et tente de les r\u00e9concilier en un son coh\u00e9rent, tout en surveillant \u00e9galement le processus d'enregistrement pour capturer le meilleur son possible.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Audio Production\/Post Production Engineer",
|
||||
"group":"Production Audio",
|
||||
"role":"Ing\u00e9nieur\u00b7e Post-Production",
|
||||
"description":"L'ing\u00e9nieur postproduction \u00e9value les technologies audio et leur application en ce qui concerne les \u00e9tapes finales de production et de publication.",
|
||||
"example":"Dick Wound pour \u00ab\u202fQueens Next Door\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Audio Post-Production\/Audio Editor ",
|
||||
"group":"Post-Production Audio",
|
||||
"role":"Mont\u00b7eur\u00b7euse Son",
|
||||
"description":"L'\u00e9diteur audio coupe et r\u00e9organise l'audio \u00e0 des fins de clart\u00e9 et de narration. L'\u00e9diteur audio peut \u00e9galement effectuer un traitement et un mastering audio g\u00e9n\u00e9raux.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Audio Post-Production\/Sound Designer ",
|
||||
"group":"Post-Production Audio",
|
||||
"role":"Concept\u00b7eur\u00b7rice Sonore",
|
||||
"description":"Le Sound Designer cr\u00e9e et compose une vari\u00e9t\u00e9 d'\u00e9l\u00e9ments audio. Ces \u00e9l\u00e9ments sont pour la plupart secondaires \u00e0 la parole, mais un Sound Designer peut \u00e9diter \/ produire des \u00e9l\u00e9ments de discours de mani\u00e8re cr\u00e9ative d'une mani\u00e8re artistique.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Audio Post-Production\/Foley Artist ",
|
||||
"group":"Post-Production Audio",
|
||||
"role":"Illustrat\u00b7eur\u00b7rice Sonore",
|
||||
"description":"Les effets sonores de l'artiste Foley pour un podcast et peuvent le faire \u00e0 la fois via un enregistrement physique et un traitement num\u00e9rique, ou une combinaison des deux.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Audio Post-Production\/Composer",
|
||||
"group":"Post-Production Audio",
|
||||
"role":"Composit\u00b7eur\u00b7rice",
|
||||
"description":"Le compositeur \u00e9crit une pi\u00e8ce musicale originale (ou plusieurs) qui est jou\u00e9e sur l'\u00e9pisode publi\u00e9. Le compositeur sera \u00e9galement souvent l'interpr\u00e8te de ladite pi\u00e8ce musicale.",
|
||||
"example":"Marcus Thorne Bagala de \u00ab\u202fThis American Life\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Audio Post-Production\/Theme Music",
|
||||
"group":"Post-Production Audio",
|
||||
"role":"Musique de G\u00e9n\u00e9rique",
|
||||
"description":"Theme Music est une pi\u00e8ce musicale qui accompagne le podcast \u00e0 travers plusieurs \u00e9pisodes, le plus souvent au d\u00e9but d'un \u00e9pisode. Le th\u00e8me Musique est utilis\u00e9 pour pr\u00e9senter le podcast en tant que marque. Ce r\u00f4le est pour le cr\u00e9ateur de la musique du th\u00e8me.",
|
||||
"example":"Mark Philips de \u00ab\u202fStartup Podcast\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Audio Post-Production\/Music Production",
|
||||
"group":"Post-Production Audio",
|
||||
"role":"Production Musicale",
|
||||
"description":"Le r\u00f4le de production musicale aide \u00e0 cr\u00e9er de mani\u00e8re cr\u00e9ative de la musique dans un r\u00f4le distinct de l'\u00e9criture de ladite musique. La production musicale implique souvent des d\u00e9cisions cr\u00e9atives en fonction de la m\u00e9thode d'enregistrement de la musique, de l'arrangement des instruments, de l'utilisation d'effets, etc.",
|
||||
"example":"Storm Duper pour \u00ab\u202fFaking Star Wars Radio\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Audio Post-Production\/Music Contributor",
|
||||
"group":"Post-Production Audio",
|
||||
"role":"Contribution Musicale",
|
||||
"description":"The Music Contributor est le cr\u00e9ateur de la musique qui a \u00e9t\u00e9 utilis\u00e9e pour le podcast mais pas n\u00e9cessairement produite sp\u00e9cifiquement pour le podcast. Souvent, un podcast utilisera une pi\u00e8ce musicale existante et cr\u00e9ditera le cr\u00e9ateur original.",
|
||||
"example":"Bobby Lord de \u00ab\u202fStartup Podcast\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Administration\/Production Coordinator",
|
||||
"group":"Gestion",
|
||||
"role":"Coordinat\u00b7eur\u00b7rice de Production",
|
||||
"description":"Le coordonnateur de la production est responsable de la gestion de la logistique du processus de production de l'enregistrement \u00e0 la publication, y compris l'obtention des autorisations et des permis requis, la connexion des diff\u00e9rentes \u00e9quipes de production et d'enregistrement, la coordination de la cr\u00e9ation des m\u00e9tadonn\u00e9es de post-production, la budg\u00e9tisation, etc.",
|
||||
"example":"Taneya Boyde sur \u00ab\u202fPr\u00eat pour le changement\u202f?\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Administration\/Booking Coordinator",
|
||||
"group":"Gestion",
|
||||
"role":"Programmat\u00b7eur\u00b7rice",
|
||||
"description":"Le coordonnateur des r\u00e9servations est charg\u00e9 de faire venir de nouveaux invit\u00e9s pour les entrevues, y compris la recherche des invit\u00e9s, la planification des entrevues, le mat\u00e9riel d'accueil et les processus post-publication.",
|
||||
"example":"Meryl Klemow pour \u00ab\u202fCampfire Sht Show\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Administration\/Production Assistant",
|
||||
"group":"Gestion",
|
||||
"role":"Assistant\u00b7e de Production",
|
||||
"description":"L'assistant de production aide \u00e0 soutenir un membre de la direction d'un podcast (souvent un r\u00e9alisateur ou un producteur), en aidant \u00e0 les pr\u00e9parer de diverses mani\u00e8res, y compris la planification, la logistique, les communications, etc.",
|
||||
"example":"Wallace Mack pour \u00ab\u202fThe Nod\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Administration\/Content Manager",
|
||||
"group":"Gestion",
|
||||
"role":"Responsable des Contenus",
|
||||
"description":"Le gestionnaire de contenu est responsable de la distribution du contenu d'un podcast \u00e0 l'int\u00e9rieur et \u00e0 l'ext\u00e9rieur de l'\u00e9pisode, y compris, mais sans s'y limiter, les clips, les newsletters, les images, les promotions crois\u00e9es, etc.",
|
||||
"example":"Kenneth Lee Johnson II pour \u00ab\u202fMalice Corp Smack Talk\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Administration\/Marketing Manager",
|
||||
"group":"Gestion",
|
||||
"role":"Responsable Marketing",
|
||||
"description":"Le directeur du marketing est responsable de la promotion du contenu d'un podcast par le biais de diverses strat\u00e9gies de sensibilisation telles que des campagnes sur les m\u00e9dias sociaux, le d\u00e9veloppement d'une pr\u00e9sence sur le Web, la gestion des relations publiques et des strat\u00e9gies de communication et d'autres techniques cr\u00e9atives pour acqu\u00e9rir et fid\u00e9liser les auditeurs.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Administration\/Sales Representative",
|
||||
"group":"Gestion",
|
||||
"role":"Commercial\u00b7e",
|
||||
"description":"Le repr\u00e9sentant des ventes est responsable de la mon\u00e9tisation du contenu des balados en g\u00e9rant et en vendant l'inventaire publicitaire.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Administration\/Sales Manager",
|
||||
"group":"Gestion",
|
||||
"role":"Direct\u00b7eur\u00b7rice Commercial\u00b7e",
|
||||
"description":"Le directeur des ventes est responsable de tous les aspects de la mon\u00e9tisation des podcasts, tels que la supervision des repr\u00e9sentants des ventes, la gestion de l'inventaire publicitaire et la conception de strat\u00e9gies de mon\u00e9tisation via des canaux tels que les partenariats d'affiliation, la marchandise, les \u00e9v\u00e9nements en direct et d'autres strat\u00e9gies de revenus.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Visuals\/Graphic Designer",
|
||||
"group":"Illustrations",
|
||||
"role":"Infographiste",
|
||||
"description":"Le graphiste est quelqu'un qui a cr\u00e9\u00e9 des visuels personnalis\u00e9s pour accompagner le podcast de diff\u00e9rentes mani\u00e8res.",
|
||||
"example":"Sky Knight pour \u00ab\u202fThe XP Billionaires\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Visuals\/Cover Art Designer ",
|
||||
"group":"Illustrations",
|
||||
"role":"Concept\u00b7eur\u00b7rice de la Couverture",
|
||||
"description":"Le Cover Art Designer cr\u00e9e la pochette affich\u00e9e d'un podcast ou d'un \u00e9pisode. Pour plus de clart\u00e9, la pochette est l'image principale (presque toujours carr\u00e9e) accompagnant le podcast dans les r\u00e9pertoires, tandis que la pochette d'\u00e9pisode est affich\u00e9e de la m\u00eame mani\u00e8re au niveau de l'\u00e9pisode. Ce r\u00f4le peut \u00eatre un concepteur num\u00e9rique, un artiste, un photographe ou tout autre cr\u00e9atif visuel.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Community\/Social Media Manager",
|
||||
"group":"Communaut\u00e9",
|
||||
"role":"Responsable R\u00e9seaux Sociaux",
|
||||
"description":"Le gestionnaire de m\u00e9dias sociaux g\u00e8re les comptes de m\u00e9dias sociaux du podcast, y compris, mais sans s'y limiter, la cr\u00e9ation de contenu, la publication, les r\u00e9ponses, la surveillance, etc.",
|
||||
"example":"Tom Joshi-Cale pour \u00ab\u202fWorld on a String\u202f\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Misc.\/Consultant",
|
||||
"group":"Divers",
|
||||
"role":"Consultant",
|
||||
"description":"Un consultant est un poste de tiers o\u00f9 une personne ext\u00e9rieure \u00e0 l'organisation travaille sur un projet, offrant souvent une expertise sp\u00e9cifique. Il s'agit d'un r\u00f4le de modificateur et peut \u00eatre appliqu\u00e9 \u00e0 n'importe quelle zone de travail.",
|
||||
"example":"Ross Wilcock pour \u00abBeing Kenzie-Feature Long Immersive Horror\u00bb"
|
||||
},
|
||||
{
|
||||
"key":"Misc.\/Intern",
|
||||
"group":"Divers",
|
||||
"role":"Stagiaire",
|
||||
"description":"Un stagiaire est un poste d'apprenti o\u00f9 quelqu'un travaille pendant un temps limit\u00e9 au sein d'une organisation pour acqu\u00e9rir une exp\u00e9rience de travail dans un domaine sp\u00e9cifique. Il s'agit d'un r\u00f4le de modificateur et peut \u00eatre appliqu\u00e9 \u00e0 n'importe quelle zone de travail.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Video Production\/Camera Operator",
|
||||
"group":"Production Vid\u00e9o",
|
||||
"role":"Cadr\u00b7eur\u00b7euse",
|
||||
"description":"Un cam\u00e9raman est charg\u00e9 de capturer et d'enregistrer tous les aspects d'une sc\u00e8ne pour le cin\u00e9ma et la t\u00e9l\u00e9vision. Ils doivent comprendre les aspects techniques du fonctionnement d'une cam\u00e9ra, cadrer une photo appropri\u00e9e en ce qui concerne l'\u00e9clairage et la mise en sc\u00e8ne, mettre au point l'objectif et avoir un \u0153il visuel pour obtenir un look sp\u00e9cifique.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Video Production\/Lighting Designer",
|
||||
"group":"Production Vid\u00e9o",
|
||||
"role":"Concept\u00b7eur\u00b7rice Lumi\u00e8res",
|
||||
"description":"Un concepteur d'\u00e9clairage travaille avec le DP et le directeur pour cr\u00e9er un aspect et une sensation sp\u00e9cifiques d'une sc\u00e8ne en utilisant diverses techniques d'\u00e9clairage. Ils doivent \u00eatre capables d'interpr\u00e9ter la direction cr\u00e9ative et de lui donner vie.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Video Production\/Camera Grip",
|
||||
"group":"Production Vid\u00e9o",
|
||||
"role":"Machiniste",
|
||||
"description":"Une poign\u00e9e d'appareil photo est responsable de la construction et de l'entretien de toutes les pi\u00e8ces d'un appareil photo et de ses accessoires tels que les tr\u00e9pieds, les grues, les chariots, etc.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Video Production\/Assistant Camera",
|
||||
"group":"Production Vid\u00e9o",
|
||||
"role":"Cadr\u00b7eur\u00b7euse Assistant\u00b7e",
|
||||
"description":"1st AC est responsable de l'\u00e9quipement de la cam\u00e9ra, de la construction des cam\u00e9ras avant le d\u00e9but de chaque journ\u00e9e, de l'organisation de toutes les pi\u00e8ces et des divers accessoires, du remplacement des objectifs si n\u00e9cessaire et \u00e9galement de la mise au point pour les op\u00e9rateurs DP et cam\u00e9ra. Le CA terminera \u00e9galement chaque journ\u00e9e en nettoyant les appareils photo, en \u00e9crivant des notes sur l'appareil photo, en marquant les cartes multim\u00e9dias et en les remettant au DIT.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Video Post-Production\/Editor",
|
||||
"group":"Post-Production Vid\u00e9o",
|
||||
"role":"R\u00e9dact\u00b7eur\u00b7rice en Chef\u00b7fe",
|
||||
"description":"Les \u00e9diteurs de t\u00e9l\u00e9vision sont charg\u00e9s de prendre les s\u00e9quences et les clips et de les m\u00e9langer pour cr\u00e9er la vision et la narration du r\u00e9alisateur.",
|
||||
"example":""
|
||||
},
|
||||
{
|
||||
"key":"Video Post-Production\/Assistant Editor",
|
||||
"group":"Post-Production Vid\u00e9o",
|
||||
"role":"R\u00e9dact\u00b7eur\u00b7rice en Chef\u00b7fe Adjoint\u00b7e",
|
||||
"description":"L'assistant de montage est charg\u00e9 de prendre les m\u00e9dias de l'ensemble, de les int\u00e9grer dans le logiciel de montage d\u00e9sign\u00e9 et d'organiser les images de mani\u00e8re efficace pour l'\u00e9diteur. Ils doivent \u00e9galement faire tr\u00e8s attention pour s'assurer que l'audio et la vid\u00e9o sont synchronis\u00e9s et que toutes les s\u00e9quences du plateau sont correctement ing\u00e9r\u00e9es.",
|
||||
"example":""
|
||||
}
|
||||
]
|
|
@ -8,7 +8,7 @@
|
|||
{
|
||||
"group": "Creative Direction",
|
||||
"role": "Assistant Director",
|
||||
"description": "The Assistant Director is a liason between the director and the rest of the production, often coordinating the daily logistics of production. There may be multiple assistant directors on a project. This role is primarily seen in fiction podcasts.",
|
||||
"description": "The Assistant Director is a liaison between the director and the rest of the production, often coordinating the daily logistics of production. There may be multiple assistant directors on a project. This role is primarily seen in fiction podcasts.",
|
||||
"example": "William Wright for \"Inn Between\""
|
||||
},
|
||||
{
|
||||
|
@ -56,7 +56,7 @@
|
|||
{
|
||||
"group": "Cast",
|
||||
"role": "Co-Host",
|
||||
"description": "The Co-Host performs many of the same duties as the host, while taking a secondary presence on the podcast. ",
|
||||
"description": "The Co-Host performs many of the same duties as the host, while taking a secondary presence on the podcast.",
|
||||
"example": "Dax Shepard for \"Armchair Expert\""
|
||||
},
|
||||
{
|
||||
|
@ -68,7 +68,7 @@
|
|||
{
|
||||
"group": "Cast",
|
||||
"role": "Guest",
|
||||
"description": "The Guest is an outside party who makes an on-air appearance on an episode, often as a participant in a panel or the interview subject. ",
|
||||
"description": "The Guest is an outside party who makes an on-air appearance on an episode, often as a participant in a panel or the interview subject.",
|
||||
"example": "Lewis Brindley for \"Triforce!\""
|
||||
},
|
||||
{
|
||||
|
@ -164,7 +164,7 @@
|
|||
{
|
||||
"group": "Writing",
|
||||
"role": "Editor",
|
||||
"description": "The Editor reviews and prepares scripts for conveying information in a creative, accurate, and engaging manner. ",
|
||||
"description": "The Editor reviews and prepares scripts for conveying information in a creative, accurate, and engaging manner.",
|
||||
"example": ""
|
||||
},
|
||||
{
|
||||
|
@ -175,7 +175,7 @@
|
|||
},
|
||||
{
|
||||
"group": "Writing",
|
||||
"role": "Translater",
|
||||
"role": "Translator",
|
||||
"description": "The Translator converts content from one language to another for the podcast. This can be interviews, dialogue, text documents, and more. The Translator's work may be used on-air or behind-the-scenes during the production\/research process.",
|
||||
"example": ""
|
||||
},
|
||||
|
@ -200,7 +200,7 @@
|
|||
{
|
||||
"group": "Audio Production",
|
||||
"role": "Technical Director",
|
||||
"description": "The Technical Director oversees the podcast's recording and production as it is involved with audio technologies including hardware and software, and managing roles involved these areas. ",
|
||||
"description": "The Technical Director oversees the podcast's recording and production as it is involved with audio technologies including hardware and software, and managing roles involved these areas.",
|
||||
"example": "Adam Raymonda on \"Celebuzz'd\""
|
||||
},
|
||||
{
|
||||
|
@ -217,7 +217,7 @@
|
|||
},
|
||||
{
|
||||
"group": "Audio Production",
|
||||
"role": "Remote Recording Engineer ",
|
||||
"role": "Remote Recording Engineer",
|
||||
"description": "The Remote Recording Engineer ensures the proper recording of conversations taking place in multiple locations across a phone line or internet connection. The Remote Recording Engineer evaluates the different recording set ups and attempts to reconcile them into a cohesive sound, while also monitoring the recording process to capture the best possible audio.",
|
||||
"example": ""
|
||||
},
|
||||
|
@ -241,7 +241,7 @@
|
|||
},
|
||||
{
|
||||
"group": "Audio Post-Production",
|
||||
"role": "Foley Artist ",
|
||||
"role": "Foley Artist",
|
||||
"description": "The Foley Artist sound effects for a podcast and can do so both via physical recording and digital processing, or a combination of the two.",
|
||||
"example": ""
|
||||
},
|
||||
|
@ -278,7 +278,7 @@
|
|||
{
|
||||
"group": "Administration",
|
||||
"role": "Booking Coordinator",
|
||||
"description": "The Booking Coordinator is responsible for bringing on new guests for interviews, including sourcing guests, scheduling interviews, onboarding materials, and post-publication processes. ",
|
||||
"description": "The Booking Coordinator is responsible for bringing on new guests for interviews, including sourcing guests, scheduling interviews, onboarding materials, and post-publication processes.",
|
||||
"example": "Meryl Klemow for \"Campfire Sht Show\""
|
||||
},
|
||||
{
|
||||
|
@ -376,23 +376,5 @@
|
|||
"role": "Assistant Editor",
|
||||
"description": "The Assistant Editor is responsible for taking the media from the set, ingesting them into the designated editing software, and organizing the footage in an efficient way for the editor. They must also pay close attention to ensure that audio and video are synced and that all footage from set is ingested properly.",
|
||||
"example": ""
|
||||
},
|
||||
{
|
||||
"group": "Production Technology",
|
||||
"role": "",
|
||||
"description": "",
|
||||
"example": ""
|
||||
},
|
||||
{
|
||||
"group": "Production Technology",
|
||||
"role": "",
|
||||
"description": "",
|
||||
"example": ""
|
||||
},
|
||||
{
|
||||
"group": "Production Technology",
|
||||
"role": "",
|
||||
"description": "",
|
||||
"example": ""
|
||||
}
|
||||
]
|
||||
|
|
|
@ -0,0 +1,887 @@
|
|||
WEBVTT
|
||||
|
||||
00:00:00.179 --> 00:00:02.399
|
||||
Travis: When you first get
|
||||
started in podcasting, it's
|
||||
|
||||
00:00:02.400 --> 00:00:04.799
|
||||
almost guaranteed that you're
|
||||
going to make a handful of rookie
|
||||
|
||||
00:00:04.801 --> 00:00:07.980
|
||||
mistakes, but that doesn't mean
|
||||
that you have to make all the
|
||||
|
||||
00:00:07.980 --> 00:00:13.109
|
||||
mistakes. So in this special
|
||||
bonus podcast episode, we went
|
||||
|
||||
00:00:13.111 --> 00:00:16.109
|
||||
back through the archives of the
|
||||
podcasting Q and a show, and five
|
||||
|
||||
00:00:16.111 --> 00:00:19.500
|
||||
minute Mondays to pull together
|
||||
the 10 things we wish we knew
|
||||
|
||||
00:00:19.620 --> 00:00:22.289
|
||||
before starting our very first
|
||||
podcast . Now, as you're
|
||||
|
||||
00:00:22.291 --> 00:00:25.350
|
||||
listening to this episode, you'll
|
||||
hear some sound effects pop in
|
||||
|
||||
00:00:25.350 --> 00:00:27.750
|
||||
from time to time. And that's
|
||||
simply because we pulled these
|
||||
|
||||
00:00:27.751 --> 00:00:31.109
|
||||
clips from our YouTube channel,
|
||||
where we add animations and
|
||||
|
||||
00:00:31.111 --> 00:00:34.200
|
||||
different sequences to help
|
||||
visually communicate the things
|
||||
|
||||
00:00:34.201 --> 00:00:36.899
|
||||
we're discussing. So when those
|
||||
things pop up, that's what that
|
||||
|
||||
00:00:36.901 --> 00:00:40.590
|
||||
is. If you are wondering, but
|
||||
they're not overly distracting.
|
||||
|
||||
00:00:40.591 --> 00:00:43.320
|
||||
So you'll still be able to get
|
||||
the gist of what we're talking
|
||||
|
||||
00:00:43.320 --> 00:00:45.840
|
||||
about and hopefully be able to
|
||||
take one of these things and
|
||||
|
||||
00:00:45.841 --> 00:00:48.990
|
||||
implement it. Moving forward for
|
||||
your podcast to help you reach
|
||||
|
||||
00:00:48.990 --> 00:00:50.340
|
||||
your goals, that much faster
|
||||
|
||||
00:00:53.030 --> 00:00:57.770
|
||||
Sarah: Creating good audio is
|
||||
really key to keeping your
|
||||
|
||||
00:00:57.771 --> 00:01:01.579
|
||||
podcast listeners engaged because
|
||||
no matter how good the content
|
||||
|
||||
00:01:01.581 --> 00:01:04.939
|
||||
is, if your audio quality isn't
|
||||
good. It's unfortunately just
|
||||
|
||||
00:01:04.941 --> 00:01:08.359
|
||||
going to turn them away. I know
|
||||
what you're thinking is you
|
||||
|
||||
00:01:08.361 --> 00:01:11.359
|
||||
probably think you have to spend
|
||||
thousands of dollars on equipment
|
||||
|
||||
00:01:11.361 --> 00:01:14.090
|
||||
or rent a podcasting studio just
|
||||
to make sure everything sounds
|
||||
|
||||
00:01:14.090 --> 00:01:17.930
|
||||
great. And I'm here to tell you
|
||||
that's not true at all. I have
|
||||
|
||||
00:01:17.930 --> 00:01:22.400
|
||||
created some pretty good audio
|
||||
from mic's that costs less than a
|
||||
|
||||
00:01:22.400 --> 00:01:25.129
|
||||
hundred dollars. And I have also
|
||||
recorded in places like in my
|
||||
|
||||
00:01:25.131 --> 00:01:29.239
|
||||
home office, even in the closet.
|
||||
Yes, no. One's going to see you
|
||||
|
||||
00:01:29.240 --> 00:01:32.599
|
||||
unless you're recording video
|
||||
like this one , um , wherever you
|
||||
|
||||
00:01:32.600 --> 00:01:36.170
|
||||
can just to muffle the sound is
|
||||
going to be really make that
|
||||
|
||||
00:01:36.171 --> 00:01:40.189
|
||||
difference between air quality
|
||||
and good quality.
|
||||
|
||||
00:01:42.739 --> 00:01:44.840
|
||||
Travis: Now, when you're creating
|
||||
your podcast intro, there's a
|
||||
|
||||
00:01:44.840 --> 00:01:47.750
|
||||
couple of things that you want to
|
||||
make sure that you cover a couple
|
||||
|
||||
00:01:47.751 --> 00:01:50.299
|
||||
of things that you want to make
|
||||
sure that you say the first one
|
||||
|
||||
00:01:50.301 --> 00:01:54.950
|
||||
is who you are specifically,
|
||||
like, what is your name? So you
|
||||
|
||||
00:01:54.950 --> 00:01:59.299
|
||||
can start. Your podcast is, Hey,
|
||||
welcome to my podcast. My name is
|
||||
|
||||
00:01:59.329 --> 00:02:02.780
|
||||
Travis, Albritton, and then your
|
||||
credentials. Why should someone
|
||||
|
||||
00:02:02.781 --> 00:02:06.019
|
||||
listen to you? So if you have
|
||||
experience in whatever you're
|
||||
|
||||
00:02:06.021 --> 00:02:09.110
|
||||
talking about, you want to make
|
||||
sure that you mentioned that if
|
||||
|
||||
00:02:09.110 --> 00:02:11.900
|
||||
you went to school for something,
|
||||
if you have a job doing
|
||||
|
||||
00:02:11.901 --> 00:02:14.569
|
||||
something, if you have clients
|
||||
that you work with, you want to
|
||||
|
||||
00:02:14.570 --> 00:02:19.219
|
||||
mention the things that lend
|
||||
credence to your advice. This is
|
||||
|
||||
00:02:19.221 --> 00:02:23.419
|
||||
a specifically important. If your
|
||||
podcast is centered around you
|
||||
|
||||
00:02:23.420 --> 00:02:25.849
|
||||
and your expertise, the next
|
||||
thing that you want to make sure
|
||||
|
||||
00:02:25.850 --> 00:02:30.229
|
||||
to include in your podcast intro
|
||||
is what your podcast is about in
|
||||
|
||||
00:02:30.289 --> 00:02:33.979
|
||||
this podcast. For instance,
|
||||
podcasting una. At the very
|
||||
|
||||
00:02:33.980 --> 00:02:37.069
|
||||
beginning, we talk about, well,
|
||||
one, what is it that we're going
|
||||
|
||||
00:02:37.070 --> 00:02:40.969
|
||||
to discuss? And then our opening
|
||||
tagline is that we're giving you
|
||||
|
||||
00:02:40.971 --> 00:02:44.659
|
||||
tips and strategies to launch,
|
||||
grow and monetize your podcast.
|
||||
|
||||
00:02:44.840 --> 00:02:49.520
|
||||
So if you're a podcaster that
|
||||
speaks directly to you because
|
||||
|
||||
00:02:49.580 --> 00:02:52.189
|
||||
you're listening to this, or
|
||||
you're watching this because
|
||||
|
||||
00:02:52.191 --> 00:02:54.590
|
||||
you're looking for those tips and
|
||||
you want to think through, for
|
||||
|
||||
00:02:54.591 --> 00:02:58.189
|
||||
your podcast in a similar way,
|
||||
what is it that people are
|
||||
|
||||
00:02:58.219 --> 00:03:01.389
|
||||
looking for? And then how do you
|
||||
make sure that you address that
|
||||
|
||||
00:03:01.390 --> 00:03:04.180
|
||||
in your intro? So they're going
|
||||
to continue to listen, not just
|
||||
|
||||
00:03:04.181 --> 00:03:08.139
|
||||
to the one episode, but to every
|
||||
single episode, it'll actually
|
||||
|
||||
00:03:08.140 --> 00:03:11.590
|
||||
turn into a subscriber that then
|
||||
goes on to download everything
|
||||
|
||||
00:03:11.591 --> 00:03:13.930
|
||||
that you have. And then the third
|
||||
thing that you want to make sure
|
||||
|
||||
00:03:13.931 --> 00:03:18.370
|
||||
you mentioned in your podcast
|
||||
intro is why someone should care.
|
||||
|
||||
00:03:18.490 --> 00:03:22.479
|
||||
Why should anyone care that your
|
||||
podcast exists? Are they going to
|
||||
|
||||
00:03:22.480 --> 00:03:25.060
|
||||
lose weight? Are they going to be
|
||||
happier? Are the relationships
|
||||
|
||||
00:03:25.061 --> 00:03:27.610
|
||||
going to get better? Are they
|
||||
going to make money, save money?
|
||||
|
||||
00:03:27.969 --> 00:03:32.289
|
||||
What is it that you were offering
|
||||
to them? What is the end result
|
||||
|
||||
00:03:32.290 --> 00:03:34.870
|
||||
look like for them, if they not
|
||||
only listened to your podcast,
|
||||
|
||||
00:03:35.110 --> 00:03:36.939
|
||||
but then also put it into
|
||||
practice.
|
||||
|
||||
00:03:39.360 --> 00:03:42.509
|
||||
Gilon: So is there an ideal
|
||||
podcast length, short answer?
|
||||
|
||||
00:03:42.689 --> 00:03:46.979
|
||||
Nope. Joe Rogan has some episodes
|
||||
that are three hours long, but
|
||||
|
||||
00:03:46.980 --> 00:03:49.800
|
||||
then there are other podcasts
|
||||
that do just fine and are very
|
||||
|
||||
00:03:49.800 --> 00:03:53.310
|
||||
successful at 10 minutes or less.
|
||||
The reality is we love podcasts
|
||||
|
||||
00:03:53.340 --> 00:03:56.400
|
||||
because of the content that
|
||||
they're presenting. And so if it
|
||||
|
||||
00:03:56.401 --> 00:04:00.000
|
||||
takes you 10 minutes to get out
|
||||
great glorious content, amazing.
|
||||
|
||||
00:04:00.270 --> 00:04:03.960
|
||||
If you have some podcast episodes
|
||||
that are on the longer end, maybe
|
||||
|
||||
00:04:03.961 --> 00:04:07.590
|
||||
up to three hours, that's okay.
|
||||
Too. People come to the podcast
|
||||
|
||||
00:04:07.591 --> 00:04:11.310
|
||||
to get the content, to get what
|
||||
you say weekly. And to be honest,
|
||||
|
||||
00:04:11.311 --> 00:04:13.379
|
||||
there are times when we need just
|
||||
a quick little something to
|
||||
|
||||
00:04:13.381 --> 00:04:15.599
|
||||
listen to. And there are times
|
||||
when we have a lot of space in
|
||||
|
||||
00:04:15.600 --> 00:04:18.300
|
||||
our day to listen to something.
|
||||
It really just depends on what
|
||||
|
||||
00:04:18.300 --> 00:04:20.579
|
||||
you're trying to accomplish and
|
||||
what you're trying to get across.
|
||||
|
||||
00:04:23.189 --> 00:04:26.939
|
||||
Travis: Be a guest on other
|
||||
people's podcasts, but not just
|
||||
|
||||
00:04:27.149 --> 00:04:31.319
|
||||
anyone's podcast podcasts that
|
||||
have a similar target audience
|
||||
|
||||
00:04:31.649 --> 00:04:34.949
|
||||
that you do. So let's say for
|
||||
example, that you talk about
|
||||
|
||||
00:04:35.399 --> 00:04:38.790
|
||||
online marketing. For instance,
|
||||
you want to find other podcasts
|
||||
|
||||
00:04:38.790 --> 00:04:40.800
|
||||
in your space where they talk
|
||||
about online marketing, where
|
||||
|
||||
00:04:40.800 --> 00:04:43.589
|
||||
they talk about how to grow your
|
||||
business, where they talk about
|
||||
|
||||
00:04:43.591 --> 00:04:47.519
|
||||
the entrepreneur life. Because
|
||||
those are the groups of people
|
||||
|
||||
00:04:47.970 --> 00:04:51.180
|
||||
that have already self selected
|
||||
and said, Hey, I want to hear
|
||||
|
||||
00:04:51.180 --> 00:04:54.750
|
||||
this kind of podcast content. If
|
||||
you can pitch yourself as a guest
|
||||
|
||||
00:04:54.750 --> 00:04:59.430
|
||||
to be on those podcasts, then
|
||||
they will immediately trust you
|
||||
|
||||
00:04:59.699 --> 00:05:02.639
|
||||
because they already trust the
|
||||
podcast host of the podcast
|
||||
|
||||
00:05:02.730 --> 00:05:05.819
|
||||
you're guesting on because they
|
||||
listen to it every week. And then
|
||||
|
||||
00:05:05.821 --> 00:05:08.519
|
||||
when you're able to demonstrate
|
||||
your expertise and say at the end
|
||||
|
||||
00:05:08.521 --> 00:05:11.759
|
||||
of the episode, Hey, by the way,
|
||||
I also have a podcast where I
|
||||
|
||||
00:05:11.761 --> 00:05:15.149
|
||||
talk about X, Y, and Z. You're
|
||||
going to get a good number of
|
||||
|
||||
00:05:15.151 --> 00:05:19.500
|
||||
people from that podcast to come
|
||||
over and subscribe to yours.
|
||||
|
||||
00:05:22.139 --> 00:05:24.240
|
||||
Gilon: Interviewing noteworthy
|
||||
guests that have a significant
|
||||
|
||||
00:05:24.240 --> 00:05:27.000
|
||||
audience is actually one of our
|
||||
favorite marketing strategies for
|
||||
|
||||
00:05:27.000 --> 00:05:31.470
|
||||
podcasters. The only thing is the
|
||||
guest has to promote the episode.
|
||||
|
||||
00:05:31.529 --> 00:05:33.959
|
||||
Ideally, you want to make it as
|
||||
easy as possible for them to
|
||||
|
||||
00:05:33.961 --> 00:05:37.050
|
||||
promote the episode. So some
|
||||
things that you can do are
|
||||
|
||||
00:05:37.170 --> 00:05:40.319
|
||||
creating an audio gram or a
|
||||
social media graphic for
|
||||
|
||||
00:05:40.321 --> 00:05:43.290
|
||||
Facebook, for Instagram, whatever
|
||||
social media platform you promote
|
||||
|
||||
00:05:43.290 --> 00:05:46.350
|
||||
on. That's a really easy way to
|
||||
get them to share that episode
|
||||
|
||||
00:05:46.350 --> 00:05:48.779
|
||||
when you have that created and
|
||||
it's made right there for them
|
||||
|
||||
00:05:48.781 --> 00:05:51.480
|
||||
and you give it to them. The
|
||||
second thing that you can do is
|
||||
|
||||
00:05:51.480 --> 00:05:54.389
|
||||
create a blurb for them to
|
||||
include in their newsletter about
|
||||
|
||||
00:05:54.391 --> 00:05:57.740
|
||||
the episode. Hey, this is an
|
||||
episode about X, Y, and you send
|
||||
|
||||
00:05:57.740 --> 00:05:59.930
|
||||
that over to them. They can push
|
||||
that right out to their people
|
||||
|
||||
00:05:59.959 --> 00:06:03.290
|
||||
via email. The other thing that
|
||||
you can do is provide a direct
|
||||
|
||||
00:06:03.290 --> 00:06:06.620
|
||||
link where people can listen to
|
||||
the episode. The idea is that it
|
||||
|
||||
00:06:06.620 --> 00:06:09.920
|
||||
should be as easy as copying and
|
||||
pasting and pushing out to their
|
||||
|
||||
00:06:09.920 --> 00:06:13.040
|
||||
people. You want to have no
|
||||
reason for them not to share the
|
||||
|
||||
00:06:13.040 --> 00:06:14.029
|
||||
episode and promote it.
|
||||
|
||||
00:06:16.629 --> 00:06:21.310
|
||||
Travis: Use templates, make it
|
||||
your goal in life as a podcaster,
|
||||
|
||||
00:06:21.519 --> 00:06:26.110
|
||||
to never duplicate your work,
|
||||
whether it's your outlines,
|
||||
|
||||
00:06:26.259 --> 00:06:29.079
|
||||
whether it's your audio editing
|
||||
software, your projects that you
|
||||
|
||||
00:06:29.081 --> 00:06:32.920
|
||||
work in, your emails that you
|
||||
send to your guests, anything
|
||||
|
||||
00:06:32.920 --> 00:06:37.000
|
||||
that you do consistently spend
|
||||
some time really make it
|
||||
|
||||
00:06:37.120 --> 00:06:40.329
|
||||
unbreakable, make sure that it's
|
||||
exactly the way that you want it.
|
||||
|
||||
00:06:40.930 --> 00:06:44.620
|
||||
And then don't go back and redo
|
||||
that actually leverage that work
|
||||
|
||||
00:06:44.620 --> 00:06:48.759
|
||||
you've done in the past to speed
|
||||
up future episodes. So let's say
|
||||
|
||||
00:06:48.761 --> 00:06:51.069
|
||||
for instance, that you have a
|
||||
guest that you're bringing onto
|
||||
|
||||
00:06:51.071 --> 00:06:54.970
|
||||
your show, rather than writing a
|
||||
custom email from scratch, send
|
||||
|
||||
00:06:54.971 --> 00:06:57.939
|
||||
them the one that you sent to
|
||||
your previous guest, but then
|
||||
|
||||
00:06:57.970 --> 00:07:00.279
|
||||
change out the first name to
|
||||
them. It looks like a brand new
|
||||
|
||||
00:07:00.281 --> 00:07:03.550
|
||||
email because they haven't seen
|
||||
that email before. And you know
|
||||
|
||||
00:07:03.550 --> 00:07:06.250
|
||||
that it has all the details that
|
||||
they need to know to make sure
|
||||
|
||||
00:07:06.250 --> 00:07:09.879
|
||||
they're fully prepared to come on
|
||||
your episode. Once you finish
|
||||
|
||||
00:07:09.970 --> 00:07:12.250
|
||||
your recording and you bring your
|
||||
interview into your audio editing
|
||||
|
||||
00:07:12.250 --> 00:07:15.009
|
||||
software, you shouldn't be
|
||||
creating a new project from
|
||||
|
||||
00:07:15.011 --> 00:07:19.360
|
||||
scratch. You should be opening up
|
||||
a previous episode, saving it as
|
||||
|
||||
00:07:19.360 --> 00:07:23.470
|
||||
a duplicate and then rewriting
|
||||
over the pieces that need to
|
||||
|
||||
00:07:23.471 --> 00:07:26.319
|
||||
change leaving, intact , your
|
||||
intro, your outro, and all of
|
||||
|
||||
00:07:26.321 --> 00:07:30.189
|
||||
your audio preferences. And then
|
||||
when you're creating your show
|
||||
|
||||
00:07:30.190 --> 00:07:33.819
|
||||
notes, they should be copy and
|
||||
paste from your previous episode,
|
||||
|
||||
00:07:33.821 --> 00:07:36.370
|
||||
show notes, and then filling out
|
||||
the fields and changing
|
||||
|
||||
00:07:36.370 --> 00:07:39.189
|
||||
everything. That's different just
|
||||
by using templates, just by
|
||||
|
||||
00:07:39.190 --> 00:07:43.060
|
||||
leveraging your previous work.
|
||||
And previous efforts for future
|
||||
|
||||
00:07:43.060 --> 00:07:49.089
|
||||
episodes is going to save you a
|
||||
ton of time. These show notes is
|
||||
|
||||
00:07:49.091 --> 00:07:52.899
|
||||
the section of your podcast
|
||||
episode that allows you to engage
|
||||
|
||||
00:07:52.959 --> 00:07:55.480
|
||||
for your listeners, provide some
|
||||
next steps for those that are
|
||||
|
||||
00:07:55.480 --> 00:07:58.180
|
||||
ready to take action on what they
|
||||
just listened to. And also
|
||||
|
||||
00:07:58.180 --> 00:08:02.500
|
||||
persuade someone new to listen to
|
||||
the episode. The number one best
|
||||
|
||||
00:08:02.500 --> 00:08:07.269
|
||||
practice is to use formatting.
|
||||
All right , a majority of podcast
|
||||
|
||||
00:08:07.271 --> 00:08:11.769
|
||||
players like Apple podcasts,
|
||||
Google podcasts , uh , overcast,
|
||||
|
||||
00:08:12.009 --> 00:08:15.490
|
||||
they support HTML formatting.
|
||||
That means you could put
|
||||
|
||||
00:08:15.490 --> 00:08:19.449
|
||||
paragraph breaks, bullet points
|
||||
in bed links, all the stuff that
|
||||
|
||||
00:08:19.451 --> 00:08:23.680
|
||||
you need to do to make your show
|
||||
notes look nice because when your
|
||||
|
||||
00:08:23.680 --> 00:08:26.350
|
||||
show notes are properly
|
||||
formatted, when it's easy to
|
||||
|
||||
00:08:26.350 --> 00:08:30.220
|
||||
navigate within your episode
|
||||
description, it makes it easier
|
||||
|
||||
00:08:30.221 --> 00:08:32.769
|
||||
for your listeners to find what
|
||||
they're looking for. Right?
|
||||
|
||||
00:08:32.770 --> 00:08:35.139
|
||||
Instead of combing through
|
||||
several paragraphs of
|
||||
|
||||
00:08:35.140 --> 00:08:37.840
|
||||
information, they can just zip
|
||||
down to the list of links that
|
||||
|
||||
00:08:37.841 --> 00:08:41.080
|
||||
you mentioned and click on the
|
||||
one that they're looking for.
|
||||
|
||||
00:08:41.320 --> 00:08:44.169
|
||||
Because remember when someone
|
||||
goes to your show notes, your
|
||||
|
||||
00:08:44.171 --> 00:08:47.470
|
||||
episode description, they're
|
||||
going for a number of reasons.
|
||||
|
||||
00:08:47.710 --> 00:08:51.129
|
||||
First reason they heard you
|
||||
mentioned something in the
|
||||
|
||||
00:08:51.130 --> 00:08:53.590
|
||||
podcast and they want to find the
|
||||
link. They want to learn more.
|
||||
|
||||
00:08:53.799 --> 00:08:57.120
|
||||
They want to buy that product,
|
||||
that you, they are looking for a
|
||||
|
||||
00:08:57.120 --> 00:08:59.730
|
||||
particular piece of information.
|
||||
And they're going to take action
|
||||
|
||||
00:08:59.730 --> 00:09:02.190
|
||||
on that. The other reason
|
||||
somebody goes through your show
|
||||
|
||||
00:09:02.191 --> 00:09:05.519
|
||||
notes or your episode description
|
||||
is they're not sure that they
|
||||
|
||||
00:09:05.520 --> 00:09:09.120
|
||||
want to devote the 30 minutes, 40
|
||||
minutes hour to listening to the
|
||||
|
||||
00:09:09.120 --> 00:09:12.539
|
||||
full episode. And so they see the
|
||||
title is interesting. They're
|
||||
|
||||
00:09:12.541 --> 00:09:15.960
|
||||
curious. They want to learn more
|
||||
and they go to your show notes
|
||||
|
||||
00:09:16.549 --> 00:09:19.169
|
||||
too , to see some amplifying
|
||||
information to see is this
|
||||
|
||||
00:09:19.171 --> 00:09:20.519
|
||||
something that I really want to
|
||||
listen to?
|
||||
|
||||
00:09:22.879 --> 00:09:26.570
|
||||
Sarah: So let's talk about
|
||||
whether you actually need a
|
||||
|
||||
00:09:26.600 --> 00:09:32.059
|
||||
custom podcast website now for
|
||||
most pod-casters the answer is
|
||||
|
||||
00:09:32.061 --> 00:09:36.950
|
||||
actually no, because if your
|
||||
podcast has an RSS feed with a
|
||||
|
||||
00:09:36.951 --> 00:09:42.799
|
||||
podcast host like Buzzsprout
|
||||
chances are you already have a
|
||||
|
||||
00:09:42.801 --> 00:09:46.879
|
||||
podcast website with Buzzsprouts
|
||||
website, you get a homepage with
|
||||
|
||||
00:09:46.880 --> 00:09:50.690
|
||||
links to obviously all of your
|
||||
episodes that your listeners can
|
||||
|
||||
00:09:50.691 --> 00:09:54.440
|
||||
listen to. You can also direct
|
||||
them to different podcast
|
||||
|
||||
00:09:54.860 --> 00:09:57.350
|
||||
directories like Apple podcast,
|
||||
Stitcher and Spotify. If they
|
||||
|
||||
00:09:57.350 --> 00:10:01.429
|
||||
want to go listen and subscribe
|
||||
there, and you can also use your
|
||||
|
||||
00:10:01.460 --> 00:10:05.330
|
||||
own domain names . So you can
|
||||
look and feel like your own
|
||||
|
||||
00:10:05.960 --> 00:10:08.960
|
||||
podcast website . You're just
|
||||
looking for a place for people to
|
||||
|
||||
00:10:08.961 --> 00:10:12.110
|
||||
listen to your episodes. Changes
|
||||
are you don't need to spend that
|
||||
|
||||
00:10:12.110 --> 00:10:14.690
|
||||
money to build your own custom
|
||||
website.
|
||||
|
||||
00:10:17.330 --> 00:10:19.820
|
||||
Gilon: You may think that the
|
||||
best strategy is to put your
|
||||
|
||||
00:10:19.821 --> 00:10:23.450
|
||||
entire episode up on a social
|
||||
media platform, but actually you
|
||||
|
||||
00:10:23.451 --> 00:10:26.389
|
||||
want to create teaser content and
|
||||
teaser content gives them a
|
||||
|
||||
00:10:26.390 --> 00:10:28.580
|
||||
little sound bite , just a little
|
||||
snippet that what's their
|
||||
|
||||
00:10:28.581 --> 00:10:31.730
|
||||
appetites want to go listen to
|
||||
the rest of the episode, wherever
|
||||
|
||||
00:10:31.730 --> 00:10:35.269
|
||||
they listen on Apple podcasts or
|
||||
Spotify, or what have you. So
|
||||
|
||||
00:10:35.270 --> 00:10:37.940
|
||||
we're going to talk about what
|
||||
three things are included in
|
||||
|
||||
00:10:37.941 --> 00:10:40.970
|
||||
every good social media post. The
|
||||
first thing that you need is a
|
||||
|
||||
00:10:40.971 --> 00:10:44.000
|
||||
visual element, right? So people
|
||||
are scrolling. They're reading,
|
||||
|
||||
00:10:44.000 --> 00:10:47.120
|
||||
whatever. If you post a picture
|
||||
that causes them to stop. And the
|
||||
|
||||
00:10:47.360 --> 00:10:49.580
|
||||
idea is that they stop , they
|
||||
listen, they read, they engage.
|
||||
|
||||
00:10:49.759 --> 00:10:52.279
|
||||
And the picture of visual element
|
||||
helps them do that. So this can
|
||||
|
||||
00:10:52.280 --> 00:10:54.830
|
||||
be a graphic. It could be a
|
||||
headshot of your guest . It could
|
||||
|
||||
00:10:54.831 --> 00:10:57.259
|
||||
be an audio gram . The second
|
||||
thing that you need is a good
|
||||
|
||||
00:10:57.260 --> 00:11:01.100
|
||||
hook. Think about what can I say
|
||||
to make someone want to continue
|
||||
|
||||
00:11:01.100 --> 00:11:04.370
|
||||
listening, to go check out the
|
||||
full episode. It could be a crazy
|
||||
|
||||
00:11:04.370 --> 00:11:06.799
|
||||
stat. It could be a really good
|
||||
quote. It could be a couple of
|
||||
|
||||
00:11:06.801 --> 00:11:09.860
|
||||
bullet points that summarize the
|
||||
high points of the episode.
|
||||
|
||||
00:11:10.129 --> 00:11:13.519
|
||||
Whatever that thing is, put that
|
||||
in the caption to help encourage
|
||||
|
||||
00:11:13.520 --> 00:11:16.580
|
||||
people to go check out the full
|
||||
episode and finally a link you
|
||||
|
||||
00:11:16.581 --> 00:11:20.299
|
||||
want to include a direct link to
|
||||
that specific podcast episode in
|
||||
|
||||
00:11:20.301 --> 00:11:23.539
|
||||
your post. If you nail all three
|
||||
of these elements, you'll not
|
||||
|
||||
00:11:23.541 --> 00:11:27.049
|
||||
only intrigue new listeners.
|
||||
You'll also encourage existing
|
||||
|
||||
00:11:27.051 --> 00:11:28.850
|
||||
subscribers to share your posts
|
||||
as well,
|
||||
|
||||
00:11:31.490 --> 00:11:35.809
|
||||
Travis: Batch production of your
|
||||
podcast episodes. So anytime that
|
||||
|
||||
00:11:35.811 --> 00:11:38.809
|
||||
you were producing an episode,
|
||||
there's so much involved. There's
|
||||
|
||||
00:11:38.811 --> 00:11:43.129
|
||||
so many moving pieces that need
|
||||
to happen in a specific order in
|
||||
|
||||
00:11:43.130 --> 00:11:45.860
|
||||
order for you to create that
|
||||
episode. So you have to start
|
||||
|
||||
00:11:45.860 --> 00:11:48.230
|
||||
with generating ideas. Then you
|
||||
have to create outlines or
|
||||
|
||||
00:11:48.409 --> 00:11:50.629
|
||||
scripts. If you have a scripted
|
||||
podcast, you have to line up
|
||||
|
||||
00:11:50.659 --> 00:11:53.470
|
||||
interviews, you need to record
|
||||
the episode. You need to edit it.
|
||||
|
||||
00:11:53.471 --> 00:11:55.940
|
||||
You need to upload it. You need
|
||||
to schedule it. All of those
|
||||
|
||||
00:11:56.220 --> 00:12:00.690
|
||||
things take time. What takes even
|
||||
more time If you do every single
|
||||
|
||||
00:12:00.691 --> 00:12:04.200
|
||||
episode by itself. But let's say
|
||||
instead that you scheduled all
|
||||
|
||||
00:12:04.201 --> 00:12:07.259
|
||||
the interviews that you needed
|
||||
for the entire month in one week,
|
||||
|
||||
00:12:07.289 --> 00:12:09.899
|
||||
maybe you had to record it on
|
||||
Tuesday. And to record it on
|
||||
|
||||
00:12:09.900 --> 00:12:12.570
|
||||
Thursday, you know , have four
|
||||
episodes to start working with
|
||||
|
||||
00:12:12.960 --> 00:12:16.169
|
||||
that Saturday. You create the
|
||||
outlines for the rest of the
|
||||
|
||||
00:12:16.171 --> 00:12:18.809
|
||||
episode. You record the
|
||||
narration, put it with your intro
|
||||
|
||||
00:12:18.811 --> 00:12:21.659
|
||||
and your outro music, and you
|
||||
export it. You output it to your
|
||||
|
||||
00:12:21.660 --> 00:12:24.570
|
||||
podcast host, and now you
|
||||
schedule it out. You've just done
|
||||
|
||||
00:12:24.600 --> 00:12:29.759
|
||||
a month of content in one week.
|
||||
So if you're looking to optimize
|
||||
|
||||
00:12:29.760 --> 00:12:32.669
|
||||
and streamline your workflow even
|
||||
more beyond templates, the next
|
||||
|
||||
00:12:32.671 --> 00:12:34.769
|
||||
best thing to do is to batch your
|
||||
episodes.
|
|
@ -17,7 +17,7 @@ designed to serve as an accessibility aid and provide searchable episode content
|
|||
- `<p>`: Content of monologue
|
||||
|
||||
#### Snippet:
|
||||
```
|
||||
```html
|
||||
<cite>Kevin:</cite>
|
||||
<time>0:00</time>
|
||||
<p>We have an update planned where we would like to give the ability to upload an artwork file for these videos</p>
|
||||
|
@ -44,7 +44,7 @@ The JSON representation is a flexible format that accomodates various degrees of
|
|||
- `<body>`: Dialogue content
|
||||
|
||||
#### Snippet:
|
||||
```
|
||||
```json
|
||||
{
|
||||
"version": "1.0.0",
|
||||
"segments": [
|
||||
|
@ -136,3 +136,61 @@ do we need a podcast trailer?
|
|||
```
|
||||
|
||||
Example file: [example.srt](example.srt)
|
||||
|
||||
|
||||
## WebVTT
|
||||
|
||||
Web Video Text Tracks Format (WebVTT) are an alternative to SRT primarily designed for the use in HTML on the web. It is supported in all major web browsers and is similar enough to SRT to be converted.
|
||||
|
||||
### Differences from SRT taken from [Wikipedia](https://en.wikipedia.org/wiki/WebVTT):
|
||||
- WebVTT's first line starts with WEBVTT after the optional UTF-8 byte order mark
|
||||
- There is space for optional header data between the first line and the first cue
|
||||
- Timecode fractional values are separated by a full stop instead of a comma
|
||||
- Timecode hours are optional
|
||||
- The frame numbering/identification preceding the timecode is optional
|
||||
- Comments identified by the word NOTE can be added
|
||||
- Metadata information can be added in a JSON-style format
|
||||
- Chapter information can be optionally specified
|
||||
- Only supports extended characters as UTF-8
|
||||
- CSS in a separate file defined in the companion HTML document for C tags is used instead of the FONT tag
|
||||
- Cue settings allow the customization of cue positioning on the video
|
||||
|
||||
#### Properties:
|
||||
- Max number of lines: 2
|
||||
- Max characters per line: 32
|
||||
- Speaker names (optional): Start a new card when the speaker changes. Include the speaker's name, followed by a colon.
|
||||
|
||||
#### Snippet:
|
||||
```
|
||||
WEBVTT
|
||||
|
||||
00:00:00.000 --> 00:00:02.760
|
||||
Sarah: In today's episode,
|
||||
you'll learn whether or not you
|
||||
|
||||
00:00:02.760 --> 00:00:06.090
|
||||
should have a podcast trailer.
|
||||
And if so, what should you
|
||||
|
||||
00:00:06.090 --> 00:00:11.610
|
||||
include in one? Welcome to
|
||||
Podcasting Q&A, where you learn
|
||||
|
||||
00:00:11.610 --> 00:00:15.750
|
||||
the best tips and strategies to
|
||||
launch, grow and monetize your
|
||||
|
||||
00:00:15.750 --> 00:00:18.630
|
||||
podcast. This week's question
|
||||
comes from Gillian.
|
||||
|
||||
00:00:19.080 --> 00:00:21.450
|
||||
Gillian: Hi Buzzsprout, Gillian
|
||||
here from breaking through
|
||||
|
||||
00:00:21.450 --> 00:00:25.350
|
||||
careers podcast. My question is,
|
||||
do we need a podcast trailer?
|
||||
```
|
||||
|
||||
Example file: [example.vtt](example.vtt)
|
||||
|
|
|
@ -0,0 +1,325 @@
|
|||
# The "podcast:value" Specification
|
||||
|
||||
<small>Version 1.3 by Dave Jones - 2021.02.25</small>
|
||||
|
||||
<br>
|
||||
|
||||
## Purpose
|
||||
|
||||
Here we describe an additional "block" of XML that gives podcasters (and other media creators) a way to receive direct
|
||||
payments from their audience in response to the action of viewing or listening to a created work. Utilizing so called "Layer 2"
|
||||
crypto-currency networks like Lightning, and possibly other digital currency mechanisms, near real-time micropayments can
|
||||
be directly sent from listener or viewer to the creator without the need for a payment processor or other "middle men".
|
||||
|
||||
The value block designates single or multiple destinations for these micro-payments. The idea is that the creator of the media
|
||||
describes (within the feed) where and how they would like payments to be sent back to them during consumption
|
||||
of that media. The format is designed to be flexible enough to handle many scenarios of direct payment streaming. Even
|
||||
the use of fiat currency, if there is an API that is capable of interfacing as a receiver within this format.
|
||||
|
||||
<br>
|
||||
|
||||
## Play to Pay
|
||||
|
||||
This system can be thought of as Play-to-pay, rather than the traditional Pay-to-play paywall approach. When a
|
||||
media listener (such as within a podcast app) presses the play button on an episode who's feed contains a value
|
||||
block, a compatible app will be expected to begin streaming micro-payments to the designated recipients on a time
|
||||
interval that makes sense for the app. The amount of each payment can be any amount the listener chooses, including
|
||||
zero. If the listener chooses not to pay to listen to this media, then the app can ignore the value block of that feed.
|
||||
|
||||
<br>
|
||||
|
||||
## Payment Intervals
|
||||
|
||||
The "time interval" for calculating payments is **always 1 minute**. However, the actual interval between when payments
|
||||
are sent can be longer. The interval should be chosen with a few factors in mind such as connectivity (is the app
|
||||
currently on-line?), transaction fees (batch payments together to reduce fee percentage), cryptocurrency network load
|
||||
(can the given crypto network or API support this payment rate?).
|
||||
|
||||
No matter what the chosen time interval for the actual transaction, the calculation should be done on a once-per-minute
|
||||
basis. So, if the micro-payment is sent every 15 minutes, it should be calculated as 15 payments batched together
|
||||
in a single transaction. Likewise, some apps with limited connectivity may need to only send payments once per
|
||||
hour. In that scenario, there would be 60 payments added up into a single, larger payment. Batching transactions
|
||||
like this also helps to minimize the impact of transaction fees on the underlying cryptocurrency network.
|
||||
|
||||
<div class="page"/>
|
||||
|
||||
<br><br>
|
||||
|
||||
## Elements
|
||||
|
||||
There are two elements that make up what we refer to as the "value block". They are a parent element that specifies the
|
||||
currency to use, and one or more child elements that specify who to pay using the currency and protocol described by the
|
||||
parent.
|
||||
|
||||
<br>
|
||||
|
||||
### Value Element
|
||||
|
||||
The `<podcast:value>` tag designates the cryptocurrency or payment layer that will be used, the transport method for transacting
|
||||
the payments, and a suggested amount denominated in the given cryptocurrency.
|
||||
|
||||
This element can exist at either the `<channel>` or `<item>` level.
|
||||
|
||||
Currently, there can be only a single copy of this element at each level.
|
||||
|
||||
<br>
|
||||
|
||||
#### Structure:
|
||||
```xml
|
||||
<podcast:value
|
||||
type="[cryptocurrency or layer(string)]"
|
||||
method="[payment transport(string)]"
|
||||
suggested="[payment amount(float)]"
|
||||
>
|
||||
[one or more "podcast:valueRecipient" elements]
|
||||
</podcast:value>
|
||||
```
|
||||
<br>
|
||||
|
||||
#### Attributes:
|
||||
- `type` (required) This is the service slug of the cryptocurrency or protocol layer.
|
||||
- `method` (required) This is the transport mechanism that will be used.
|
||||
- `suggested` (optional) This is an optional suggestion on how much cryptocurrency to send with each payment.
|
||||
|
||||
<br>
|
||||
|
||||
#### Explanation:
|
||||
|
||||
Using Lightning as an example, the `type` would be "lightning". Various possible `type` values will be kept
|
||||
in a slug list [here](valueslugs.txt). This is the only type currently in active use. Others are under development
|
||||
and will be added to the list as they see some measure of adoption, or at least a working example to prove viability.
|
||||
|
||||
The `method` attribute is used to indicate a sub-protocol to use within the given `type`. Again, returning to
|
||||
Lightning as an example, the `method` would be "keysend". Normally, a Lightning payment requires an invoice
|
||||
to be generated by the payee in order to fulfill a transaction. The "keysend" protocol of Lightning allows payments
|
||||
to be streamed to what is, essentially, an open invoice. Other cryptocurrencies may have a similar protocol that
|
||||
would be used here. If not, a value of "default" should be given.
|
||||
|
||||
The "suggested" amount is just that. It's a suggestion, and must be changeable by the user to another value, or
|
||||
to zero. The suggested amount should always be given in the smallest denomination available within the payment
|
||||
protocol being used. For instance, with Lightning it is given in millisatoshis.
|
||||
|
||||
A single value tag can contain many `<podcast:valueRecipient>` tags as children. All of these given recipients are
|
||||
sent individual payments when the payment interval triggers.
|
||||
|
||||
The value tag, when it exists at the `<channel>` level, designates the payment scheme for the entire podcast. When it
|
||||
exists at the `<item>` level, it is intended to override the channel level tag for that episode only.
|
||||
|
||||
#### Example:
|
||||
|
||||
```xml
|
||||
<podcast:value
|
||||
type="lightning"
|
||||
method="keysend"
|
||||
suggested="0.00000005000"
|
||||
></podcast:value>
|
||||
```
|
||||
|
||||
<br><br>
|
||||
|
||||
<div class="page"/>
|
||||
|
||||
### Value Recipient Element
|
||||
|
||||
The `valueRecipient` tag designates various destinations for payments to be sent to during consumption of the enclosed
|
||||
media. Each recipient is considered to receive a "split" of the total payment according to the number of shares given
|
||||
in the `split` attribute.
|
||||
|
||||
This element may only exist within a parent `<podcast:value>` element.
|
||||
|
||||
There is no limit on how many `valueRecipient` elements can be present in a given `<podcast:value>` element.
|
||||
|
||||
<br>
|
||||
|
||||
#### Structure:
|
||||
|
||||
```xml
|
||||
<podcast:valueRecipient
|
||||
name="[name of recipient(string)]"
|
||||
type="[address type(string)]"
|
||||
address="[the receiving address(string)]"
|
||||
customKey="[optional key to pass(mixed)]"
|
||||
customValue="[optional value to pass(mixed)]"
|
||||
split="[share count(int)]"
|
||||
fee=[true|false]
|
||||
/>
|
||||
```
|
||||
|
||||
<br>
|
||||
|
||||
#### Attributes:
|
||||
|
||||
- `name` (recommended) A free-form string that designates who or what this recipient is.
|
||||
- `customKey` (optional) The name of a custom record key to send along with the payment.
|
||||
- `customValue` (optional) A custom value to pass along with the payment. This is considered the value that belongs to the `customKey`.
|
||||
- `type` (required) A slug that represents the type of receiving address that will receive the payment.
|
||||
- `address` (required) This denotes the receiving address of the payee.
|
||||
- `split` (required) The number of shares of the payment this recipient will receive.
|
||||
- `fee` (optional) If this attribute is not specified, it is assumed to be false.
|
||||
|
||||
<br>
|
||||
|
||||
#### Explanation:
|
||||
|
||||
The `name` is just a human readable description of who or what this payment destination is. This could be something simple like
|
||||
"Podcaster", "Co-host" or "Producer". It could also be more descriptive like "Ronald McDonald House Charity", if a podcaster
|
||||
chooses to donate a percentage of their incoming funds to a charity.
|
||||
|
||||
The `type` denotes what type of receiving entity this is. For instance, with lightning this would typically be "node". This would
|
||||
indicate that the `address` attribute for this recipient is a Lightning node that is capable of directly receiving incoming keysend payments. Valid values for
|
||||
the `type` attribute are kept in the accompanying file [here](valueslugs.txt). Another option is given in examples below.
|
||||
|
||||
Payments must be sent to a valid destination which is given in the `address` attribute. This address format will vary depending on
|
||||
the underlying currency being used.
|
||||
|
||||
The `split` attribute denotes an amount of "shares" of the total payment that the recipient will receive when each timed payment is made.
|
||||
When a single `<podcast:valueRecipient>` is present, it should be assumed that the `split` for that recipient is 100%, and the "split" should
|
||||
be ignored. When multiple recipients are present, a share calculation (see below) should be made to determine how much to send to each recipient's address.
|
||||
|
||||
The `fee` attribute tells apps whether this split should be treated as a "fee", or a normal split. If this attribute is true, then this split should be calculated
|
||||
as a fee, meaning it's percentage (as calculated from the shares) should be taken off the top of the entire transaction amount. This is the preferred way for service
|
||||
providers such as apps, hosting companies, API's and third-party value add providers to add their fee to a value block.
|
||||
|
||||
<br><br>
|
||||
|
||||
<div class="page"/>
|
||||
|
||||
### Payment calculation
|
||||
|
||||
The interval payment calculation is:
|
||||
|
||||
(Number of shares / Share total) * Interval payout * Interval count
|
||||
|
||||
To calculate payouts, let's take the following value block as an example:
|
||||
|
||||
```xml
|
||||
<podcast:value type="lightning" method="keysend" suggested="0.00000015000">
|
||||
<podcast:valueRecipient
|
||||
name="Host"
|
||||
type="node"
|
||||
address="02d5c1bf8b940dc9cadca86d1b0a3c37fbe39cee4c7e839e33bef9174531d27f52"
|
||||
split="50"
|
||||
/>
|
||||
<podcast:valueRecipient
|
||||
name="Co-Host"
|
||||
type="node"
|
||||
address="032f4ffbbafffbe51726ad3c164a3d0d37ec27bc67b29a159b0f49ae8ac21b8508"
|
||||
split="40"
|
||||
/>
|
||||
<podcast:valueRecipient
|
||||
name="Producer"
|
||||
type="node"
|
||||
address="03ae9f91a0cb8ff43840e3c322c4c61f019d8c1c3cea15a25cfc425ac605e61a4a"
|
||||
split="10"
|
||||
/>
|
||||
</podcast:value>
|
||||
```
|
||||
|
||||
This block designates three payment recipients. On each timed payment interval, the total payment will be split into 3 smaller
|
||||
payments according to the shares listed in the split for each recipient. So, in this case, if the listener decided to pay 100 satoshis per minute for listening
|
||||
to this podcast, then once per minute the "Host" would be sent 50 satoshis, the "Co-Host" would be sent 40 satoshis and the
|
||||
"Producer" would be sent 10 satoshis - all to their respective lightning node addresses using the "keysend" protocol.
|
||||
|
||||
If, instead of a 50/40/10 (total of 100) split, the splits were given as 190/152/38 (total of 380), the respective payment amounts each minute would still
|
||||
be 50 satoshis, 40 satoshis and 10 satoshis because the listener chose to pay 100 satoshis per minute, and the respective shares (as a percentage of the total) would remain the same.
|
||||
|
||||
On a 190/152/38 split, each minute the payment calculation would be:
|
||||
|
||||
- Interval payout: 100 satoshis
|
||||
|
||||
- Share total: 380
|
||||
|
||||
- Recipient #1 gets a payment of: 50 sats (190 / 380 * 100)
|
||||
- Recipient #2 gets a payment of: 40 sats (152 / 380 * 100)
|
||||
- Recipient #3 gets a payment of: 10 sats (38 / 380 * 100)
|
||||
|
||||
If an app chooses to only make a payout once every 30 minutes of listening/watching, the calculation would be the same after multiplying
|
||||
the per-minute payment by 30:
|
||||
|
||||
- Interval payout: 3000 satoshis (100 * 30)
|
||||
|
||||
- Shares total: 380
|
||||
|
||||
- Recipient #1 gets a payment of: 1500 sats (190 / 380 * 3000)
|
||||
- Recipient #2 gets a payment of: 1200 sats (152 / 380 * 3000)
|
||||
- Recipient #3 gets a payment of: 300 sats (38 / 380 * 3000)
|
||||
|
||||
As shown above, the once per minute calculation does not have to actually be sent every minute. A longer payout period can be chosen. But,
|
||||
the once-per-minute nature of the payout still remains in order for listeners and creators to have an easy way to measure and calculate how much
|
||||
they will spend and charge.
|
||||
|
||||
<br><br>
|
||||
|
||||
<div class="page"/>
|
||||
|
||||
### Supported Currencies and Protocols
|
||||
|
||||
The value block is designed to be flexible enough to handle most any cryptocurrency, and even fiat currencies with a given
|
||||
API that exposes a compatible process.
|
||||
|
||||
Currently, development is centered fully on [Lightning](https://github.com/lightningnetwork) using the "keysend" protocol. Keysend allows for push
|
||||
based payments without the recipient needing to generate an invoice to receive them.
|
||||
|
||||
<br>
|
||||
|
||||
#### Lightning
|
||||
|
||||
For the `<podcast:value>` tag, the following attributes MUST be used:
|
||||
|
||||
- `type` (required): "lightning"
|
||||
- `method` (required): "keysend"
|
||||
- `suggested` (optional): An integer representing millisatoshis.
|
||||
|
||||
For the `<podcast:valueRecipient>` tag, the following attributes MUST be used:
|
||||
|
||||
- `type`: "node"
|
||||
- `address`: \<the destination node's pubkey\>
|
||||
- `split`: \<the number of shares\>
|
||||
|
||||
If the receiving Lightning node, or service, requires a custom record or meta-data of some sort to be passed along with the payment
|
||||
the `customKey` and `customValue` can be utilized as follows:
|
||||
|
||||
- `type`: "node"
|
||||
- `method`: "keysend"
|
||||
- `customKey`: \<key name\>
|
||||
- `customValue`: \<value\>
|
||||
- `address`: \<the destination node's pubkey\>
|
||||
- `split`: \<the number of shares\>
|
||||
|
||||
<br>
|
||||
|
||||
##### Example
|
||||
|
||||
This is a live, working example of a Lightning keysend value block in production. It designates four recipients for payment - two
|
||||
podcast hosts at 49 and 46 shares respectively, a producer working on per episode chapter creation who gets a 5 share, and
|
||||
a single share (effectively 1%) fee to the Podcastindex.org API.
|
||||
|
||||
```xml
|
||||
<podcast:value type="lightning" method="keysend" suggested="0.00000015000">
|
||||
<podcast:valueRecipient
|
||||
name="Adam Curry (Podcaster)"
|
||||
type="node"
|
||||
address="02d5c1bf8b940dc9cadca86d1b0a3c37fbe39cee4c7e839e33bef9174531d27f52"
|
||||
split="49"
|
||||
/>
|
||||
<podcast:valueRecipient
|
||||
name="Dave Jones (Podcaster)"
|
||||
type="node"
|
||||
address="032f4ffbbafffbe51726ad3c164a3d0d37ec27bc67b29a159b0f49ae8ac21b8508"
|
||||
split="46"
|
||||
/>
|
||||
<podcast:valueRecipient
|
||||
name="Dreb Scott (Chapter Creation)"
|
||||
type="node"
|
||||
address="02dd306e68c46681aa21d88a436fb35355a8579dd30201581cefa17cb179fc4c15"
|
||||
split="5"
|
||||
/>
|
||||
<podcast:valueRecipient
|
||||
name="Podcastindex.org (Donation)"
|
||||
type="node"
|
||||
address="03ae9f91a0cb8ff43840e3c322c4c61f019d8c1c3cea15a25cfc425ac605e61a4a"
|
||||
split="1"
|
||||
fee="true"
|
||||
/>
|
||||
</podcast:value>
|
||||
```
|
|
@ -0,0 +1,5 @@
|
|||
bitcoin
|
||||
lightning
|
||||
keysend
|
||||
wallet
|
||||
node
|
Ładowanie…
Reference in New Issue