Boa*_*ann 6 video ffmpeg framerate
我有一个来自安全摄像头的视频,最初以低帧速率录制,可能是 15 fps,可能是 10 fps,甚至可能更低。它已被其他人转换为 25 fps(不改变持续时间)。我假设已经添加了额外的重复帧,并且可能这也略微扭曲了显示原始帧的确切时间。
我想用 ffmpeg 将视频重新编码为其原始帧速率,而不丢弃任何有用的实际运动帧。如果我只是使用fps过滤器,它不会选择保留哪些帧,并且我认为由于舍入错误,它最终可能会保留一些重复的帧并永久丢失有用的帧,从而使情况变得更糟。无论如何,我不知道要告诉过滤器的数字是多少,因为我不确切知道原始帧速率是多少!
如何使用 ffmpeg 修复此视频?
ffmpeg -i "orig.mp4" -an -vcodec h264 -vf "fps=???" "fixed.mp4"
Run Code Online (Sandbox Code Playgroud)
我设法修复了我的文件。我找到了mpdecimate过滤器,它会从视频流中删除重复或接近重复的帧。首先我试过:
ffmpeg -loglevel debug -i orig.mp4 -an -vf "mpdecimate" test.mp4
Run Code Online (Sandbox Code Playgroud)
我添加-loglevel debug以在转码期间获取更多信息。信息显示mpdecimate了框架的作用,其中有很多这种模式:
lo:0<217 lo:0<-2147483648 lo:0<-2147483648 drop pts:44032 pts_time:3.44 drop_count:1
lo:0<217 lo:0<-2147483648 lo:0<-2147483648 drop pts:44544 pts_time:3.48 drop_count:2
lo:0<217 lo:0<-2147483648 lo:0<-2147483648 drop pts:45056 pts_time:3.52 drop_count:3
lo:0<217 lo:0<-2147483648 lo:0<-2147483648 drop pts:45568 pts_time:3.56 drop_count:4
781>=hi keep pts:46080 pts_time:3.6 drop_count:-1
lo:0<217 lo:0<-2147483648 lo:0<-2147483648 drop pts:46592 pts_time:3.64 drop_count:1
lo:0<217 lo:0<-2147483648 lo:0<-2147483648 drop pts:47104 pts_time:3.68 drop_count:2
lo:0<217 lo:0<-2147483648 lo:0<-2147483648 drop pts:47616 pts_time:3.72 drop_count:3
lo:0<217 lo:0<-2147483648 lo:0<-2147483648 drop pts:48128 pts_time:3.76 drop_count:4
821>=hi keep pts:48640 pts_time:3.8 drop_count:-1
lo:0<217 lo:0<-2147483648 lo:0<-2147483648 drop pts:49152 pts_time:3.84 drop_count:1
lo:0<217 lo:0<-2147483648 lo:0<-2147483648 drop pts:49664 pts_time:3.88 drop_count:2
lo:0<217 lo:0<-2147483648 lo:0<-2147483648 drop pts:50176 pts_time:3.92 drop_count:3
lo:0<217 lo:0<-2147483648 lo:0<-2147483648 drop pts:50688 pts_time:3.96 drop_count:4
793>=hi keep pts:51200 pts_time:4 drop_count:-1
Run Code Online (Sandbox Code Playgroud)
即,它始终连续丢弃 4 帧作为重复帧,并每 5 帧保留一次。这表明原始帧速率是现在的 1/5。我很幸运!由于视频当前的 25 fps 是原始帧速率的倍数,因此保留和丢失的帧在时间上不对齐应该不会出现问题。因此,我使用比 更复杂的方式重新转码了原始视频,-vf "fps=5"输出似乎很好。可以肯定的是,我通过mpdecimate过滤器将输出通过管道传输,并将所有剩余的帧检测为“保留”。所以原始文件并没有我想象的那么乱。
| 归档时间: |
|
| 查看次数: |
4172 次 |
| 最近记录: |