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.
|
||||
|
||||
|
||||
### **\<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>
|
||||
|
||||
<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"
|
||||
/>
|
||||
```
|
||||
|
||||
|
||||
|
||||
<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