反向编码视频?

bob*_*bob 15 ffmpeg

有谁知道是否有可能使用ffmpeg反向编码视频?(因此产生的视频反向播放?)

我想我可以通过为每个帧生成图像(所以图像文件夹标记为1.jpg,2.jpg等),然后编写脚本来更改图像名称,然后从这些文件中重新编码ivdeo.

有谁知道更快的方式?

这是一个FLV视频.

谢谢

And*_*bbs 18

不,不可能使用ffmpeg对视频进行反向编码而不将其转储到图像然后再返回.网上有许多指南可以向您展示如何操作,特别是:

后者如下:

转储所有视频帧

$ ffmpeg -i input.mkv -an -qscale 1 %06d.jpg
Run Code Online (Sandbox Code Playgroud)

转储音频

$ ffmpeg -i input.mkv -vn -ac 2 audio.wav
Run Code Online (Sandbox Code Playgroud)

反向音频

$ sox -V audio.wav backwards.wav reverse
Run Code Online (Sandbox Code Playgroud)

Cat视频帧以相反的顺序将FFmpeg作为输入

$ cat $(ls -r *jpg) | ffmpeg -f image2pipe -vcodec mjpeg -r 25 -i - -i backwards.wav -vcodec libx264 -vpre slow -crf 20 -threads 0 -acodec flac output.mkv
Run Code Online (Sandbox Code Playgroud)

使用mencoder对PAL dv进行去隔行,并将帧速率从25加倍到50,然后输出到FFmpeg.

$ mencoder input.dv -of rawvideo -ofps 50 -ovc raw -vf yadif=3,format=i420 -nosound -really-quiet -o - | ffmpeg -vsync 0 -f rawvideo -s 720x576 -r 50 -pix_fmt yuv420p -i - -vcodec libx264 -vpre slow -crf 20 -threads 0 video.mkv
Run Code Online (Sandbox Code Playgroud)

  • 干杯,非常有帮助.一个小的改变 - 使用`$(ls -r*jpg)`而不是`$(ls -t*jpg)`更好(至少对我来说),因为修改时间太粗,无法给出正确的排序 (8认同)
  • 对于较新版本的ffmpeg,您应该在最后一步中将-vpre slow替换为-preset slow. (4认同)
  • 这实际上是不正确的.FFMPEG现在有一个`reverse`过滤器,以及一个用于音频的`areverse`过滤器. (2认同)
  • 这种方法还是比 ffmpeg 的反向过滤器要好,后者缓冲 RAM 中的所有帧,未压缩。33mb 和 2 分钟长的 1080p 视频使用 10gb 内存。 (2认同)

hfo*_*sli 10

我根据Andrew Stubbs的回答创建了一个脚本

https://gist.github.com/hfossli/6003302

可以像这样使用

./ffmpeg_sox_reverse.sh -i Desktop/input.dv -o test.mp4
Run Code Online (Sandbox Code Playgroud)