我正在使用流利的ffmpeg在实时视频流上编写内容 意味着我正在使用此工具在服务器要提供服务的每个ts文件上写入文本,以响应来自客户端的hls请求: 在服务器iam中使用以下代码:
res.setHeader('Content-Type', CONTENT_TYPE.SEGMENT)
res.statusCode = 200
var proc = ffmpeg(req.filePath).videoFilters({
filter: 'drawtext',
options: {
text: 'VERY LONG TEXT VERY VERY VERY VERY LOL!!!',
fontsize: 36,
fontcolor: 'white',
x: '(main_w/2-text_w/2)',
y: '(text_h/2)+15',
shadowcolor: 'black',
shadowx: 2,
shadowy: 2
}
}
)
.videoCodec('libx264')
.audioCodec('aac')
.format('mpegts')
.on('end', function (stdout, stderr) {
console.log('Transcoding succeeded !', req.filePath);
})
.on('error', function (err) {
console.log('an error happened: ' + err.message);
}).pipe(res, {
end: true
})
但是在客户端中,仅播放第一个ts文件,然后,我在控制台中获得此日志:
[log] > AVC:6798 ms overlapping between fragments detected
blob:http://demo.jwp…a8dc-56b513684988:1
[log] > Video/PTS/DTS adjusted: 6798/6798,delta:-6798 ms
blob:http://demo.jwp…a8dc-56b513684988:1
和许多这样的日志:
[warn] > Dropping 1 audio frame @ 6.805s due to 6797 ms overlap.
我应该怎么做?????