Using FFmpeg with Video API

From ElphelWiki
Revision as of 03:50, 3 December 2005 by 85.202.193.27 (talk)
Jump to: navigation, search

Для того, чтобы сохранить поток в том виде, в котором он приходит к клиенту можно использовать команду :

ffmpeg -f mjpeg -i http://192.168.0.9/mjpg/video.mjpg video.mjpg

Потом этот файл можно преобразовать в другой формат, например так:

ffmpeg -r 6 -i video.mjpg -vc copy video.avi

При этом будет создан avi-файл с FPS=6 и с НЕПЕРЕКОДИРОВАННЫМ содержимым, т.е. Jpeg-фреймы просто будут скопированы в нужное место в avi-файл. Обязательно указывайте опцию "-r" (FPS), иначе avi-файл будет создан с FPS по-умолчанию и это значение может сильно отличаться от того, который был у сохраненного потока.

Можно также сохранять поток сразу в нужный формат. Так две вышеперечисленные операции можно объеденить в одну :

ffmpeg -r 6 -f mjpeg -i http://192.168.0.9/mjpg/video.mjpg -vc copy video.avi

Если нужно сохранить поток в отдельные JPEG-файлы, то нужно использовать следующую команду :

ffmpeg -r 6 -f mjpeg -i http://192.168.0.9/mjpg/video.mjpg -vc copy %d.jpg

В состав пакета ffmpeg входит программа ffplay, которая может воспроизводить живое, или записанное видео:

ffplay -r 6 -f mjpeg -i http://192.168.0.9/mjpg/video.mjpg
ffplay -r 6 -i video.mjpg