PRX / feeder.prx.org

Dovetail podcast content management system
https://podcasts.dovetail.prx.org
GNU Affero General Public License v3.0
5 stars 0 forks source link

Transcripts by file upload #969

Open brandonhundt opened 4 months ago

brandonhundt commented 4 months ago

Per our discussion about Step 1 for transcripts, we want to get some basic support in Feeder. See the doc: https://docs.google.com/document/d/1-0bOHkWMd0LUKt-1sw5h-oUlqwAdVYmtqxPyk4UGEpE/edit#bookmark=id.9j3sg0ayyaju

Feeder _ Episode _ Media Files

### Tasks (separate issues/PRs)
- [ ] https://github.com/PRX/feeder.prx.org/issues/1047
- [ ] https://github.com/PRX/feeder.prx.org/issues/1048
- [ ] Create UI to upload the transcript
- [ ] Add transcript link to the RSS
kookster commented 4 months ago

Should we allow multiple transcript files? There might be an uploaded version and a machine generated, should we be able to have both? The element in the feed allows multiple in different formats, we could allow the same. I wonder if we should also keep track of where/which app generated a transcript...like, did this VTT come from Apple, from Descript, AWS?

Should we also support human readable, but not terribly machine friendly formats like txt, MS Word docs or even pdfs?

Would we have storage of individual audio file segment transcripts? I think if we generate the transcript from segments, those would get generated and stored next to the audio files in s3, like we do with other derivatives. But then what does that mean for the overall transcript? Seems like we'd need a (on demand? async?) process to make a combined transcript from them. Perhaps a field on the MediaResource could indicate if there is a transcript for it, or we could allow a MediaResource to have a Transcript...

So what would the model/storage for this episode transcript look like?

I'm thinking like an EpisodeImage or MediaResource, with the original_url where it is uploaded (probably an s3 url), and the url for the public location. Since we have different standards, include a format or mime_type to designate if they uploaded/generated a VTT, podcasts:transcript json, or SRT file.

I think this is its own table/model, for Transcript, and Episode has many Transcript.

cavis commented 1 month ago

Implementation (these could be broken up into separate PRs):