Merge branch 'main' of github.com:pluja/whishper
This commit is contained in:
@@ -56,7 +56,7 @@ Contributions are welcome! Feel free to open a PR with your changes, or take a l
|
|||||||
|
|
||||||
### Development setup
|
### Development setup
|
||||||
|
|
||||||
Check out the development documentation [here](https://whishper.net/guides/development/).
|
Check out the development documentation [here](https://whishper.net/guides/develop/).
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
||||||
|
|||||||
@@ -101,9 +101,20 @@ func (s *Server) handlePostTranscription(c *fiber.Ctx) error {
|
|||||||
return fiber.NewError(fiber.StatusInternalServerError, "Internal server error")
|
return fiber.NewError(fiber.StatusInternalServerError, "Internal server error")
|
||||||
}
|
}
|
||||||
|
|
||||||
// Write the JSON to the response body.
|
// Broadcast transcription to websocket clients
|
||||||
s.BroadcastTranscription(res)
|
s.BroadcastTranscription(res)
|
||||||
s.NewTranscriptionCh <- true
|
s.NewTranscriptionCh <- true
|
||||||
|
|
||||||
|
// Convert the transcription to JSON.
|
||||||
|
json, err := json.Marshal(res)
|
||||||
|
if err != nil {
|
||||||
|
// 503 On vacation!
|
||||||
|
return fiber.NewError(fiber.StatusServiceUnavailable, "On vacation!")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Write the JSON to the response body.
|
||||||
|
c.Set("Content-Type", "application/json")
|
||||||
|
c.Write(json)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -102,13 +102,13 @@ export const downloadVTT = function (jsonData, title) {
|
|||||||
jsonData.forEach((segment, index) => {
|
jsonData.forEach((segment, index) => {
|
||||||
let startSeconds = Math.floor(segment.start);
|
let startSeconds = Math.floor(segment.start);
|
||||||
let startMillis = Math.floor((segment.start - startSeconds) * 1000);
|
let startMillis = Math.floor((segment.start - startSeconds) * 1000);
|
||||||
let start = new Date(startSeconds * 1000 + startMillis).toISOString().substr(11, 12).replace('.', ',');
|
let start = new Date(startSeconds * 1000 + startMillis).toISOString().substr(11, 12);
|
||||||
|
|
||||||
let endSeconds = Math.floor(segment.end);
|
let endSeconds = Math.floor(segment.end);
|
||||||
let endMillis = Math.floor((segment.end - endSeconds) * 1000);
|
let endMillis = Math.floor((segment.end - endSeconds) * 1000);
|
||||||
let end = new Date(endSeconds * 1000 + endMillis).toISOString().substr(11, 12).replace('.', ',');
|
let end = new Date(endSeconds * 1000 + endMillis).toISOString().substr(11, 12);
|
||||||
|
|
||||||
vttContent += `${index + 1}\n${start} --> ${end}\n- ${segment.text}\n\n`;
|
vttContent += `${index + 1}\n${start} --> ${end}\n${segment.text}\n\n`;
|
||||||
});
|
});
|
||||||
|
|
||||||
let vttBlob = new Blob([vttContent], {type: 'text/plain'});
|
let vttBlob = new Blob([vttContent], {type: 'text/plain'});
|
||||||
@@ -118,4 +118,4 @@ export const downloadVTT = function (jsonData, title) {
|
|||||||
link.download = `${title}.vtt`;
|
link.download = `${title}.vtt`;
|
||||||
link.click();
|
link.click();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user