FFplay文档解读-51-多媒体资源

489 篇文章 14 订阅
464 篇文章 13 订阅

33. 多媒体资源

以下是当前可用多媒体源的说明。

33.1 amovie

这与电影源相同,但默认情况下会选择音频流。

33.2 movie

从电影容器中读取音频和/或视频流。

它接受以下参数:

filename

要读取的资源的名称(不一定是文件;它也可以是通过某种协议访问的设备或流)。

format_name,f

指定要读取的影片的格式,可以是容器的名称或输入设备。如果未指定,则从movie_name或通过探测猜测格式。

seek_point,sp

以秒为单位指定搜索点。帧将从该搜索点开始输出。使用av_strtod计算参数,因此数值可以以IS后缀为后缀。默认值为0

streams, s

指定要读取的流。可以指定多个流,用+分隔。然后,源将以相同的顺序具有尽可能多的输出。具体的语法在(ffmpeg)流说明符中进行了解释。两个特殊名称dvda分别指定默认(最适合)的视频和音频流。如果过滤器被称为amovie,则默认为dvda

stream_index,si

指定要读取的视频流的索引。如果值为-1,将自动选择最合适的视频流。默认值为-1。已过时。如果过滤器被称为amovie,它将选择音频而不是视频。

loop

指定按顺序读取流的次数。如果值为0,则流将无限循环。默认值为1

请注意,当影片循环播放时,源时间戳不会更改,因此它将生成非单调增加的时间戳。

discontinuity

指定帧之间的时间差,超过该时间点,该点被视为时间戳不连续性,通过调整后面的时间戳来删除该时间戳。

它允许在滤镜图的主输入上叠加第二个视频,如下图所示:

input -----------> deltapts0 --> overlay --> output
                                ^
                                |
movie --> scale--> deltapts1 -------+

【学习地址】:音视频新手快速入门必备系列-FFmpeg+SDL播放器开发实现-学习视频教程-腾讯课堂
【文章福利】免费领取更多音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击1079654574加群领取哦~

  

33.2.1 示例

  • AVI文件in.avi开始跳过3.2秒,并将其覆盖在标有in的输入顶部:

      movie=in.avi:seek_point=3.2, scale=180:-1, setpts=PTS-STARTPTS [over];
      [in] setpts=PTS-STARTPTS [main];
      [main][over] overlay=16:16 [out]
    
  • video4linux2设备读取,并将其覆盖在标记为in的输入之上:

      movie=/dev/video0:f=video4linux2, scale=180:-1, setpts=PTS-STARTPTS [over];
      [in] setpts=PTS-STARTPTS [main];
      [main][over] overlay=16:16 [out]
    
  • dvd.vob读取第一个视频流和ID0x81的音频流; 视频连接到名为videopad,音频连接到名为audiopad

      movie=dvd.vob:s=v:0+#0x81 [video] [audio]
    

33.2.2 命令行

movieamovie都支持以下命令:

seek

使用av_seek_frame执行搜索。 语法是:seek stream_index|timestamp|flags

1: stream_index:如果stream_index-1,则选择默认流,并且时间戳自动从AV_TIME_BASE单位转换为特定于流的time_base

2: timestampAVStream.time_base单位中的时间戳,如果没有指定流,则为AV_TIME_BASE单位中的时间戳。

3: flags:选择方向和搜索模式的标志。

get_duration

AV_TIME_BASE为单位获取电影持续时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值