我正在使用循环、打包和提供的静态 TS(MPEG 传输流)文件模拟一堆 DASH 和 HLS 直播流,如下所示:
cvlc --loop myfile.ts --> Shaka packager --> NGINX webserver
创建 TS 文件ffmpeg
用于将输入的 1080p 内容 (myfile.mov) 转换为 1 个音频流和 3 个视频流:720p、480p 和 360p。检查生成的文件以确保其构造正确。
cvlc
用于循环 TS,因为它正确处理每个循环的 PCR 和 PTS 更新,使视频“看起来”直播。
这是我的cvlc
命令:
cvlc myfile.ts --sout udp:127.0.0.1:9876 --repeat --loop --sout-all --sout-keep
我的问题是cvlc
随机重新编号和重新排序视频 PID,因此打包程序无法将正确的分辨率放在正确的位置以进行自适应流式传输。
如何循环播放 MPEG-TS 并cvlc
单独保留 PID(或至少保持数字顺序),并且仅在每个循环期间更新 PCR/PTS/DTS?