«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу транслировать видео MP4 на веб-сервере Golang?

Как я могу транслировать видео MP4 на веб-сервере Golang?

Опубликовано 14 ноября 2024 г.
Просматривать:533

How Can I Stream MP4 Videos in a Golang Web Server?

Потоковое видео с веб-сервера GoLang

В: Веб-сервер Golang безуспешно настроен для обслуживания HTML, CSS, JavaScript и изображений. пытается передать потоковое видео в формате MP4.

Проблема возникает при обработке больших видеофайлов. Chrome требует, чтобы серверы поддерживали запросы диапазона для видео, превышающих определенный размер, но предоставленный код не решает эту проблему. Реализуя поддержку запросов диапазона, сервер может отправлять только запрошенную часть видео, обеспечивая воспроизведение.

A: Улучшите код для поддержки запросов диапазона.

Изменить код для включения проверки файлов MP4 и отправки соответствующих заголовков и кодов ответа:

if contentType == "video/mp4" {
    size := binary.Size(data)
    if size > 0 {
        requestedBytes := r.Header.Get("Range")
        w.Header().Add("Accept-Ranges", "bytes")
        w.Header().Add("Content-Length", strconv.Itoa(size))
        w.Header().Add("Content-Range", "bytes " requestedBytes[6:len(requestedBytes)] strconv.Itoa(size-1) "/" strconv.Itoa(size))
        w.WriteHeader(206)
    }
}

Кроме того, рассмотрите возможность использования http.ServeFile() для обслуживания видеофайлов, который поддерживает запросы диапазона:

if contentType == "video/mp4" {
    http.ServeFile(w, r, path)
}
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3