kopia lustrzana https://github.com/Podcastindex-org/podcast-namespace
formalize liveItem
rodzic
da2dd6366f
commit
ffa0f095be
61
README.md
61
README.md
|
@ -162,67 +162,6 @@ full implementation details.
|
||||||
The following tags are being actively considered for adoption into the namespace as part of phase 4. They are a work in progress.
|
The following tags are being actively considered for adoption into the namespace as part of phase 4. They are a work in progress.
|
||||||
|
|
||||||
|
|
||||||
### **\<podcast:liveItem>** - <small>[Discuss](https://github.com/Podcastindex-org/podcast-namespace/issues/212)</small>
|
|
||||||
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<b>
|
|
||||||
|
|
||||||
```xml
|
|
||||||
<podcast:liveItem
|
|
||||||
status="['pending','live','ended'(string)]"
|
|
||||||
start="[ISO8601 time stamp(string)]"
|
|
||||||
end="[ISO8601 time stamp(string)]"
|
|
||||||
>
|
|
||||||
|
|
||||||
</podcast:liveItem>
|
|
||||||
```
|
|
||||||
|
|
||||||
</b>
|
|
||||||
|
|
||||||
Channel
|
|
||||||
|
|
||||||
(optional | multiple)
|
|
||||||
|
|
||||||
This element is used for a feed to deliver a live stream to podcast apps. It takes the same format as a standard `<item>` episode tag, but holds a subset of elements along with
|
|
||||||
some additional new elements that are appropriate for a live stream context. The `start` and `end` attributes denote when the live stream "should" start and end. But, real life
|
|
||||||
dictates that those times might not be adhered to. Apps are therefore encouraged not to rely on those times as anything more than a suggestion. The canonical way to know if a
|
|
||||||
stream has started is with the `status` attribute. If `status` is "live" then the stream has started.
|
|
||||||
|
|
||||||
This item will also make use of the [podping](https://podping.cloud) notification network. A podping notification SHOULD be sent out by the host when the live stream starts to let
|
|
||||||
apps know.
|
|
||||||
|
|
||||||
|
|
||||||
Example:
|
|
||||||
```xml
|
|
||||||
<podcast:liveItem
|
|
||||||
status="live"
|
|
||||||
start="2021-09-26T07:30:00.000-0600"
|
|
||||||
end="2021-09-26T08:30:00.000-0600"
|
|
||||||
>
|
|
||||||
<title>Podcasting 2.0 Live Show</title>
|
|
||||||
<description>A look into the future of podcasting and how we get to Podcasting 2.0!</description>
|
|
||||||
<link>https://example.com/podcast/live</link>
|
|
||||||
<guid isPermaLink="true">https://example.com/live</guid>
|
|
||||||
<author>John Doe (john@example.com)</author>
|
|
||||||
<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"
|
|
||||||
/>
|
|
||||||
<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>
|
|
||||||
<podcast:alternateEnclosure type="audio/mpeg" length="312">
|
|
||||||
<podcast:source uri="https://example.com/pc20/livestream" />
|
|
||||||
</podcast:alternateEnclosure>
|
|
||||||
</podcast:liveItem>
|
|
||||||
```
|
|
||||||
|
|
||||||
<br>
|
|
||||||
|
|
||||||
----
|
|
||||||
|
|
||||||
### **\<podcast:recommendations>** - <small>[Discuss](https://github.com/Podcastindex-org/podcast-namespace/issues/205)</small>
|
### **\<podcast:recommendations>** - <small>[Discuss](https://github.com/Podcastindex-org/podcast-namespace/issues/205)</small>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
55
docs/1.0.md
55
docs/1.0.md
|
@ -750,3 +750,58 @@ Example of specifying four different image sizes:
|
||||||
https://example.com/images/ep1/pci_avatar-tiny.jpg 150w"
|
https://example.com/images/ep1/pci_avatar-tiny.jpg 150w"
|
||||||
/>
|
/>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<br><br><br><br><!-- Tag block -->
|
||||||
|
## Live Item
|
||||||
|
`<podcast:liveItem>`<br><br>
|
||||||
|
The `liveItem` tag is used for a feed to deliver a live stream to podcast apps. It takes the same format as a standard `<item>` episode tag, and all tags that are allowed inside of
|
||||||
|
a normal `<item>` tag are also allowed as children of `<podcast:liveItem>` except for `<enclosure>` which is supplanted in this context with `<podcast:alternateEnclosure>`.
|
||||||
|
The `start` and `end` attributes denote when the live stream "should" start and end. But, real life dictates that those times might not be adhered to. Apps are therefore encouraged
|
||||||
|
not to rely solely on those times as anything more than an approximation. The canonical way to know if a stream has started is with the `status` attribute. If `status` is "live" then
|
||||||
|
the stream has started.
|
||||||
|
|
||||||
|
This tag will also make use of the [podping](https://podping.cloud) notification network. A podping notification SHOULD be sent out by the host when the live stream starts, to let
|
||||||
|
apps know.
|
||||||
|
|
||||||
|
### Parent
|
||||||
|
`<channel>`
|
||||||
|
|
||||||
|
### Count
|
||||||
|
Multiple
|
||||||
|
|
||||||
|
### Node Value
|
||||||
|
All tags that are valid inside of a standard `<item>` tag are also valid here, except for `<enclosure>`. Instead of a normal `<enclosure>` which doesn't make sense in a live context,
|
||||||
|
the `<podcast:alternateEnclosure>` tag MUST be used instead. The [`alternateEnclosure`](#alternate-enclosure) tag has robust support for specifying streaming content.
|
||||||
|
|
||||||
|
### Attributes
|
||||||
|
- **status** (required) A string that must be one of `pending`, `live` or `ended`.
|
||||||
|
- **start** (required) A string representing an ISO8601 timestamp that denotes the time when the stream is intended to start.
|
||||||
|
- **end** (required) A string representing an ISO8601 timestamp that denotes the time when the stream is intended to end.
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
```xml
|
||||||
|
<podcast:liveItem
|
||||||
|
status="live"
|
||||||
|
start="2021-09-26T07:30:00.000-0600"
|
||||||
|
end="2021-09-26T09:30:00.000-0600"
|
||||||
|
>
|
||||||
|
<title>Podcasting 2.0 Live Show</title>
|
||||||
|
<description>A look into the future of podcasting and how we get to Podcasting 2.0!</description>
|
||||||
|
<link>https://example.com/podcast/live</link>
|
||||||
|
<guid isPermaLink="true">https://example.com/live</guid>
|
||||||
|
<author>John Doe (john@example.com)</author>
|
||||||
|
<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"
|
||||||
|
/>
|
||||||
|
<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>
|
||||||
|
<podcast:alternateEnclosure type="audio/mpeg" length="312">
|
||||||
|
<podcast:source uri="https://example.com/pc20/livestream" />
|
||||||
|
</podcast:alternateEnclosure>
|
||||||
|
</podcast:liveItem>
|
||||||
|
```
|
Ładowanie…
Reference in New Issue