小编Lex*_*117的帖子

为什么 MP4/AVC 容器文件中指定多个时间刻度?

我当前正在解析 MPEG-DASH 流初始化段(由 FFMPEG 生成),我注意到时间刻度是在我的文件中的多个不同位置指定的:

  • 在电影标题框中(mvhd):1000
  • 在我的视频轨道(mdhd)的媒体标题框中:15360
  • 在 AVC 配置框 (avcC) 中,更准确地说,在序列参数集的 VUI 部分中 NAL 单位:60

为什么在这么多不同的地方指定它?为什么他们有不同的价值观?这些价值有等级吗?例如,60 是否会覆盖 15360,15360 是否会覆盖 1000?

这是我用来生成我正在查看的文件的命令:

ffmpeg -f v4l2 -pixel_format yuyv422 -vcodec rawvideo -framerate 30 -video_size 640x360 -i /dev/video0 \
        -f dash -remove_at_exit false -use_template true -use_timeline true -streaming true -window_size 5 -extra_window_size 5 -seg_duration 5 -vcodec libx264 -b:v 1M -maxrate 1M -bufsize 2M  -pix_fmt yuv420p -r 30 -s 640x360 -aspect 16:9 /var/www/html/media/live.mpd
Run Code Online (Sandbox Code Playgroud)

mp4 ffmpeg timing video-streaming mpeg-dash

3
推荐指数
1
解决办法
1060
查看次数

标签 统计

ffmpeg ×1

mp4 ×1

mpeg-dash ×1

timing ×1

video-streaming ×1