首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >nginx流;如何有媒体内容目录?

nginx流;如何有媒体内容目录?
EN

Stack Overflow用户
提问于 2022-01-01 13:34:34
回答 1查看 733关注 0票数 1

我有一个简单的nginx服务器启动和运行,在其中我可以服务HLS准备的媒体内容(H 264/AAC编码的mp4视频),下面是我的nginx.conf文件。

代码语言:javascript
运行
复制
worker_processes  1;

events {
    worker_connections  1024;
}

rtmp {                
    server {
        listen 1935;  
        chunk_size 4096;
            
        application vod {
            play /opt/video/vod; # videos are placed here.
        }
    }
}

通过访问rtmp://localhost/vod/video.mp4,我可以播放存储在/opt/video/vod中的video.mp4。然而,我想把我的媒体组织在目录中,如moviesseries/opt/video/vod中。但是当我这样做的时候,我就不能再播放视频了。例如,我不能播放rtmp://localhost/vod/series/video.mp4

有什么方法可以与nginx一起工作吗?

EN

回答 1

Stack Overflow用户

发布于 2022-01-03 09:01:09

解决了这个问题,我误解了HLS的工作原理。通过配置nginx以通过特定路径为HLS内容提供服务,任何实际的HLS内容都可以从该路径中播放,因此可以从该路径播放H264/AAC编码的内容,并随附的*.m3u8播放列表分割成*.ts片段。下面是nginx.conf

代码语言:javascript
运行
复制
rtmp {
    server {
        listen 1935;

        application app {
            live on;

            # Don't allow RTMP playback
            deny play all;

            # Package streams as HLS
            hls on;
            hls_path /var/www/vod; # place your content here
            hls_nested on;
            hls_fragment_naming system;
        }
    }
}

若要准备HLS内容,请使用ffmpeg

代码语言:javascript
运行
复制
ffmpeg -i <input_video> -map 0 -codec:v libx264 -codec:a aac -f ssegment -segment_list playlist.m3u8 -segment_list_flags +live -segment_time 10 out%03d.ts

然后指向一个媒体播放器,例如VLChttp://<ip>/vod/playlist.m3u8,它会播放你的视频!这样你就可以用你喜欢的任何方式来划分你的vod目录,例如vod/series/himym/1/1/playlist.m3u8

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70549208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档