视频、音频打时间戳的方法

1. 视频时间戳

     pts = inc++ *(1000/fps);  其中inc是一个静态的,初始值为0,每次打完时间戳inc加1.

    在ffmpeg,中的代码为

    pkt.pts= m_nVideoTimeStamp++ * (m_VCtx->time_base.num * 1000 / m_VCtx->time_base.den);

 

2. 音频时间戳

    pts = inc++ * (frame_size * 1000 / sample_rate)

   在ffmpeg中的代码为

   pkt.pts= m_nAudioTimeStamp++ * (m_ACtx->frame_size * 1000 / m_ACtx->sample_rate);

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: 我可以为你提供一个命令:ffmpeg -i input.mp4 -vf drawtext="fontfile=Arial.ttf:text='%{pts\:gmtime\:1409723200\:%Y-%m-%d %H\:%M\:%S}':x=(w-tw)/2:y=h-(2*lh)" output.mp4 ### 回答2: 您好!要在录制的视频上打印时间戳,可以使用FFmpeg命令行工具来实现。下面是一个示例命令: ffmpeg -i input.mp4 -vf "drawtext=fontfile=/path/to/font.ttf: text='%{localtime\:%Y-%m-%d %H\\\\\:%M\\\\\:%S}': x=(w-tw)/2: y=h-(2*lh): fontcolor=white: fontsize=30: box=1: boxcolor=black@0.5" -codec:a copy output.mp4 其中,input.mp4是您要添加时间戳的输入视频文件名,output.mp4是修改后的输出文件名。 这个命令使用-vf参数来指定视频过滤器,具体使用的过滤器是drawtext。drawtext参数中的fontfile用于指定字体文件路径,您需要将其替换为您实际使用的字体文件路径。 text参数中的%{localtime\:%Y-%m-%d %H\\\\\:%M\\\\\:%S}用于设置时间戳的格式。您可以根据需求自定义时间戳的显示格式。 x和y参数用于设置时间戳的位置。这里的x=(w-tw)/2表示将时间戳水平居中,y=h-(2*lh)表示将时间戳垂直位置设置在视频底部。 fontcolor和fontsize参数用于设置时间戳的颜色和字体大小。 box和boxcolor参数用于给时间戳添加一个黑色半透明背景框。 最后,-codec:a copy用于保持音频的原始编解码格式,保证音频不受影响。 执行上述命令后,将会生成一个包含时间戳的新视频文件output.mp4。 希望以上信息对您有帮助! ### 回答3: 你可以使用以下命令在录制视频时打印时间戳: ``` ffmpeg -i input.mp4 -vf "drawtext=fontfile=/path/to/font.ttf:fontsize=20:text='%{pts\:gmtime\:0\:%H\\\\\:%M\\\\\:%S}':x=(w-tw)/2:y=h-(2*lh)" -codec:a copy output.mp4 ``` 此命令假定你已经安装了ffmpeg,并且input.mp4是你要录制的视频文件名,output.mp4是输出文件名。 这个命令使用了ffmpeg的-vf (视频过滤器)选项来应用drawtext过滤器。drawtext过滤器用于在视频上绘制文本,我们使用它来绘制时间戳。 其中的参数解释如下: - `fontfile`:你需要指定一个用于显示文本的字体文件的路径。你需要将`/path/to/font.ttf`替换为你自己字体文件的实际路径。 - `fontsize`:指定文本的字体大小。在此命令中,我们将它设置为20。 - `text`:设置要显示的文本内容。`%{pts\:gmtime\:0\:%H\\\\\:%M\\\\\:%S}`用于打印时间戳,它采用的是以GMT时间为基准的时分秒格式。 - `x` 和 `y`:用于确定文本在视频帧上的位置。在此命令中,我们将文本水平居中并靠近底部。 最后,`-codec:a copy`选项用于将音频编码器设置为直接复制。这将确保录制的视频保留原始音频流。 运行以上命令后,ffmpeg将开始录制视频,并在每个视频帧上绘制时间戳,输出到output.mp4。你可以根据需要调整命令中的参数来满足你的要求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值