Using FFmpeg with Video API

From ElphelWiki
Revision as of 14:10, 23 December 2005 by Ilya (talk | contribs) (Using FFmpeg With Video API moved to Using FFmpeg with Video API)
Jump to: navigation, search

in English | [[{{{de}}}|deutsch]] | [[{{{fr}}}|français]] | по-русски | автоперевод | 中文版 | 机械翻译


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

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