Audio hosting service that offers transcriptions of uploaded file? - audio

Similar to how YouTube captions videos, is there any audio hosting service out there that will transcribe audio and provide a written transcription for accessibility purposes?

No.
You could upload the audio to YouTube as a video file and get its auto-captions, terrible as they are, then extract those.
You should know that YouTube's auto-captioning should never (never) be relied on. You can instead use it to generate a rough time-based set of captions that you can then download and correct.
The easiest way to do that is via No More Craptions, which will take a YouTube video with auto-captions and walk you through correcting them in a simple interface.
You may then download your completed work as a transcript as well. When you do that, remember to offer a plain text link near the audio file / player on the page with a clear indication of what the user will receive.
Let me reiterate — never rely on YouTube auto-captions. Always correct whatever YouTube provides. Always.

Related

Storing video that can be played from the middle

I am using Azure Blob Storage to store a video. I would like a user to be able to scroll the video to any point in time and play it from there.
For short videos, there is no problem because the whole video loads and you can do that, but for larger videos, it does not seem to work out of the box. And in some sense it makes sense - files by default do not have the functionality to be downloadable from the middle. But all decent video streaming websites offer this functionality. I must be missing some video concepts, would appreciate, if someone linked me to some articles explaining how things like this are done. Bonus points if the solution is using Microsoft Azure.
Large video example (28 secs, 126MB):
https://www.w3schools.com/code/tryit.asp?filename=GP328W3SEY77
Small video example (10 secs, 1MB):
https://www.w3schools.com/html/tryit.asp?filename=tryhtml5_video
Video streaming servers or cloud services are usually dedicated specialised servers and their functionality can be quite complex.
A video 'file' typically consists of one or more video and audio tracks in a 'container' like MP4. The container will have header information and pointers to the track info.
Simple HTTP streaming of an mp4 file is possible if your server supports range requests, i.e. downloading parts of the file at a time, and if the header information is at the start of the video file - in mp4 is it usually at the end by default but can be moved to the start.
More sophisticated streaming servers, including most/all of the popular commercial services, use a dedicated streaming protocol, typically ABR HLS or DASH these days. These provide chunked multiple different bit rate versions of the video and allow the client switch between bit rates for each chunk it downloads - see more info here: https://stackoverflow.com/a/42365034/334402
The thumbnails you see when you scroll along a video timeline are actually usually a separate track in the video file or stream. They are a set of images at timepoints and the entire set of thumbnails can be downloaded quickly at the start of playback to give a view of what a particular part of the video will look like if the user wants to jump to it. When the user actually jumps to that section of the video, the client requests from the server the chunks or section of the file corresponding to that thumbnail.
Azure CDN actually provides some nice functionality:
video starts to play instantly (browser doesn't need to wait for the video to fully load)
you can scroll back/forward in time.
(Obviously, this in addition to the standard CDN functionality of multiple PoP, caching, etc.)
The above CDN setup was tested on Standard Microsoft, but Verizon and Akamai seem to be offering similar functionality.

Get the audio data from Google Assistant

As of now (is using api.ai) what I see is, I get the string format of what the user speaks.
I would like to access the raw audio file the user speaks to interact with Google Assistant using the api.ai platform.
Is there a way to get the audio file ?
[UPDATE]:
We are aiming to evaluate the quality of speech of the user hence we would need to run the algorithms on the audio.
No, there is currently no way to get the audio content of what has been sent.
(However, the team is looking to understand the use cases of why you might want or need this feature, so you may want to elaborate on your question further.)

Stream training videos to remote offices

So I lead a team of engineers located across 3 timezones, and when we have a meeting we record it, so that it can reviewed at a later date. Currently we are just storing it on an apache server. If someone wants to watch one of the videos they must download it and then watch it.
Would it be possible to configure it so that they could stream the videos instead of downloading them?
Thanks :)
If the video is mp4, and if you have reasonable bandwidth available, then you can simply make the video available on your server and use the HTML5 video tag on a web page to stream it.
If you don't have or don't want a separate web page just for this, then you can use a general purpose video player, such as VLC http://www.videolan.org/vlc/index.html, and simply provide the URL to the video on your server.
One thing to be aware of - a regular MP4 file has the metadata at the end of the file, but for streaming you want this to be moved to the start of the file. There are several tools which will do this (google mp4 fast start) - here is an example:
https://github.com/danielgtaylor/qtfaststart

how to implement a web site like youtube?

I'm doing a language web site for my university language center, where students login and see videos to learn English. i have to do it like this,
person is logging in to the system, search using a search area and find the details,lessons and videos relevant to that videos. this functionality exactly matches the youtube scenario.
for implementing twitter like functionality we can use status-net, is there a similer library, statusnet like famous implementation for youtube or a some kind of platform or a framework like codeigniter that we can use to implement youtube like site very easily??
please suggest some options?? a open source one or a commercial one ???
and what is the best video format to use in a such web site?? flv?? mp4?? or mov???
regards,
Rangana
Your best option is to use a 'cloud' based video processing service. Most have a sample project / library for many different languages and frameworks. Here is a list of a few I've tried and liked:
http://zencoder.com/
http://transloadit.com/
http://pandastream.com/
The typical steps involve uploading the video files to a large 'cloud' static asset host (such as S3) through the browser. If you are inexperienced it is best to select a processor that provides an uploader (it will handle putting the files in the right spot). Of the three, Transloadit and Panda both have custom unloaders.
Usually the service will allow you to either pass the encoding settings (what formats and qualities to) output to as parameters or configure them in your account. To support all current HTML5 browsers you just need H264 (.m4a) and OGG (.ogv). However, the new trend in the video world is for WEBM (.webm) so you might want to include it as well.
Next you will receive a unique code from the web service that you must store in persistent storage (database). The web service can be configured to 'callback' (perform an HTTP POST or GET request to your service) once the video is encoded.
Once your recieve a callback you can activate your video and start dislpaying it on your pages. For displaying, if you are inexperienced I'd highly recommend you use one of the following players:
http://sublimevideo.net/
http://longtailvideo.com/
http://videojs.com/
They all do similar things for different prices. My current personal favourite is Sublime Video (it offers cool light box effects and a gorgeous player).
Why do you have to re-implement Youtube when you can just use it for hosting your videos for free? Many online e-learning portals (e.g. Khan academy) do exactly that.
As far as the best video format to use -- go read about H.264/AVC. It's what Youtube currently uses.
I think you will not find already built solution ;)
But it's not really that hard. You can use existing frameworks that will make your life easier while you build account management system, the rest shouldn't be really that hard (assuming you don't really want to re-build the whole Youtube ;D ).
For playing videos, you can use JW Player. A great piece of software, you should check it out.

What is the best service/tool to put short audio clips on a website so users can click and listen immediately?

I'm making a foreign language flashcard website in which I want to have 100s of short 3-10 second audio files available for users to click and listen.
So I am looking for a tool/service such as YouTube or Screenr.com but for audio which e.g.:
allows me to easily upload multiple kinds of audio files: mp3, wav, etc.
easy to manage them online (delete, replace)
has a simple, small player (e.g. flash) that integrates nicely into any site
Or has anyone built something like this with Silverlight, e.g. where I could send the name of an mp3 file as a parameter in the object element?
For 3-10 second sound files, you can just serve them as any other file. If you have 100 of them, it will not amount to much storage. They are easily transmitted over http.
I don't think you need a service or site for that amount of data. There's a jQuery plugin that plays sound. Embed that into your web pages and you're done.

Resources