使用 FFmpeg 工具将视频文件切片为多个 .ts 文件和一个 m3u8 播放列表文件:
ffmpeg -i xxx.mp4 -codec:v libx264 -codec:a aac -map 0 -f ssegment -segment_format mpegts -segment_list playlist.m3u8 -segment_time 10 out%03d.ts
- `-i xxx.mp4`: 指定输入文件。
- `-codec:v libx264 -codec:a aac -map 0`: 指定视频和音频编码,以及要映射的流。
- `-f ssegment -segment_format mpegts`: 指定切片的输出格式。
- `-segment_list playlist.m3u8`: 指定播放列表文件的名称。
- `-segment_time 10`: 设置每个切片的时长,这里设定为10秒。
- `out%03d.ts`: 指定输出的 ts 文件的名称格式。
运行这条命令后,目录填满了名为 `out001.ts`、`out002.ts` 等的 .ts 文件,以及一个名为 `playlist.m3u8` 的播放列表文件。
$ ls
DAC.mp4 out003.ts out008.ts out013.ts out018.ts out023.ts out028.ts out033.ts out038.ts
android.mp4 out004.ts out009.ts out014.ts out019.ts out024.ts out029.ts out034.ts out039.ts
out000.ts out005.ts out010.ts out015.ts out020.ts out025.ts out030.ts out035.ts playlist.m3u8
out001.ts out006.ts out011.ts out016.ts out021.ts out026.ts out031.ts out036.ts
out002.ts out007.ts out012.ts out017.ts out022.ts out027.ts out032.ts out037.ts
通过在本地的 web 服务器上托管这些文件,为你的视频创建一个可流式播放的 URL。在此过程中,VLC 等媒体播放器可以通过此 URL 实时观看视频。
将生成的 .ts 文件和 m3u8 文件放置到你的 web 服务器的指定目录下。这样,你应该就可以通过访问 `http://你的服务器地址/playlist.m3u8` 来流式播放你的视频了。
请注意,要实现这一点,你需要确保你的 web 服务器能够正确地为 .ts 和 .m3u8 文件提供服务。一些服务器可能需要额外的配置来处理这些文件类型。
之后,你可以将这个 m3u8 网址复制到 VLC 或者其他支持 m3u8 格式的播放器上进行观看。