请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于小咖秀源码avmerge.c疑问

老师好:
看了源码,有如下几个疑问
1.Raw H.264的文件的pts都是AV_NOPTS_VALUE吗?
2.b_use_video_ts参数是做什么的?因为我看到是初始给的1,以后就没有改变过
3.line 208
:if(!b_use_video_ts && (in_stream1->codecpar->codec_type == AVMEDIA_TYPE_VIDEO))
这个判断是做什么的?
4.stream1里面做了Write PTS操作,stream2音频的pts是本来就有的吗?
还有av_compare_ts()这个比较的函数比较的是我们创建的pts 和 stream2原有的pts,为什么这两个可以比呢?这样怎么能确保av_compare_ts()返回的是真呢?会不会一直返回假?
5.不相关的h264和aac文件它们的pts之间有什么关系呢?,如果没啥关系,那么在写入的时候av_compare_ts()是怎么把视频和音频一一对应写入并输出呢?
6.合成的视频在ffplay下播放没有问题,但在Mac 上的QuickTime播放器播放视频画面会一抖一抖的?这是为何呢?

正在回答 回答被采纳积分+3

1回答

李超 2018-12-22 18:10:35

视频课要好好看哈,多媒体文件包括音频流,视频流,又叫音频轨,视频轨,为啥叫轨呢?因为他们不会相交,所以音频与视频的pts 没任何关系。这些问题视频里都有讲,建议你首先将视频先大体看一遍,然后再仔细看两遍,有些问题就自己有答案了。如果还有不明白的再过来问。

0 回复 有任何疑惑可以回复我~
  • 老师,请问代码中的b_use_video_ts 判断是启什么作用。
    回复 有任何疑惑可以回复我~ 2019-09-05 11:17:14
  • 李超 回复 blazer_2015 #2
    是否使用视频的时间戳,如果不是用视频的时间戳,就通过帧率计算时间戳
    回复 有任何疑惑可以回复我~ 2019-09-05 15:22:27
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信