2010-03-31 5 views
14

Кто-нибудь знает, можно ли кодировать видео с помощью ffmpeg в обратном порядке? (Таким образом, результирующее видео воспроизводится в обратном направлении?)кодировать видео в обратном направлении?

Я думаю, что могу создать изображения для каждого кадра (так что папка с изображениями с надписью 1.jpg, 2.jpg и т. Д.), А затем написать сценарий для изменения имен изображений , а затем перекодировать ivdeo из этих файлов.

Кто-нибудь знает более быстрый способ?

Это видео FLV.

Спасибо

ответ

15

Нет, это не представляется возможным с помощью FFmpeg для кодирования видео в обратном направлении без сброса его изображение, а затем обратно. Есть целый ряд руководств, доступных в Интернете, чтобы показать вам, как это сделать, а именно:

и

Последний из которых следует :

самосвала все видео кадры

$ ffmpeg -i input.mkv -an -qscale 1 %06d.jpg 

самосвала аудио

$ ffmpeg -i input.mkv -vn -ac 2 audio.wav 

Обратный аудио

$ sox -V audio.wav backwards.wav reverse 

видео Кошка кадров в обратном порядке, чтобы 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 

Использование 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 
+8

Приветствия, очень полезно. Небольшое изменение - используя '$ (ls -r * jpg)' вместо '$ (ls -t * jpg)' лучше (для меня, по крайней мере), поскольку времена модификации слишком грубые, чтобы дать правильный порядок – simonb

+0

@ ChaitanyaChandurkar: зависит от того, насколько мощным является устройство, архитектура процессора и тактовая частота и т. Д. И т. Д. –

+3

Для более новых версий ffmpeg вы должны заменить -vpre slow на -preset slow на последнем шаге. – Ruben

9

Я создал сценарий для этого на основе ответа Эндрю Стаббс

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

Может использоваться как так

./ffmpeg_sox_reverse.sh -i Desktop/input.dv -o test.mp4 
+0

Этот сценарий не работает для меня. Он не может создать временный каталог с 'mktemp'. – Pistos

+0

У меня OS X, может быть, это причина? – hfossli

Смежные вопросы