使用ffmpeg实时操作在hls中播放视频流中的错误

时间:2019-07-06 15:06:44

标签: node.js ffmpeg http-live-streaming hlsl fluent-ffmpeg

我正在使用流利的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.

我应该怎么做?????

0 个答案:

没有答案