Difference between revisions of "Using FFmpeg with Video API"

From ElphelWiki
Jump to: navigation, search
Line 2: Line 2:
 
  <nowiki>ffmpeg -f mjpeg -i http://192.168.0.9/mjpg/video.mjpg video.mjpg</nowiki>
 
  <nowiki>ffmpeg -f mjpeg -i http://192.168.0.9/mjpg/video.mjpg video.mjpg</nowiki>
 
Потом этот файл можно преобразовать в другой формат, например так:
 
Потом этот файл можно преобразовать в другой формат, например так:
  <nowiki>ffmpeg -r 6 -i video2.mjpg -vc copy video.avi</nowiki>
+
  <nowiki>ffmpeg -r 6 -i video.mjpg -vc copy video.avi</nowiki>
 
При этом будет создан avi-файл с FPS=6 и с НЕПЕРЕКОДИРОВАННЫМ содержимым, т.е. Jpeg-фреймы просто будут скопированы в нужное место в avi-файл.  Обязательно указывайте опцию "-r" (FPS), иначе avi-файл будет создан с FPS по-умолчанию и это значение может сильно отличаться от того, который был у сохраненного потока.
 
При этом будет создан avi-файл с FPS=6 и с НЕПЕРЕКОДИРОВАННЫМ содержимым, т.е. Jpeg-фреймы просто будут скопированы в нужное место в avi-файл.  Обязательно указывайте опцию "-r" (FPS), иначе avi-файл будет создан с FPS по-умолчанию и это значение может сильно отличаться от того, который был у сохраненного потока.
  

Revision as of 02:50, 3 December 2005

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

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