ffmpeg повернуть изображение для подачи на ffserver

С помощью ffmpeg я предоставляю канал для ffserver из многократно читаемого изображения. Я использую следующую инструкцию

ffmpeg -v debug -loop 1 -f image2 -i http://IP_ADDRESS/image.jpg -c:v libx264 http://FFSERVER_IP_ADDRESS:8090/feed.ffm

Таким образом, я могу получить поток с сервера, но мне нужно повернуть полученный поток.

Я попытался с опцией -vf transpose=1 таким образом

ffmpeg -v debug -loop 1 -f image2 -i http://IP_ADDRESS/image.jpg -c:v libx264 -vf transpose=1 http://FFSERVER_IP_ADDRESS:8090/feed.ffm

но ничего не происходит

мой ffserver.conf

HTTPPort 8090
RTSPPort 7654
HTTPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000
CustomLog -

<Feed feed.ffm>
File path_to_file/feed.ffm
FileMaxSize 10000K
ACL allow 192.168.1.0 192.168.1.255
</Feed> 

<Stream test.h264>
Feed feed.ffm
Format rtp
Noaudio
</Stream>

Предложения?

Спасибо

2 ответа

Мне удалось решить подобную проблему с этим, с самыми важными битами, являющимися "-c:v mjpeg" и "-override_ffserver".

<Feed feed1.ffm>
  File /var/tmp/feed1.ffm
  FileMaxSize 1M
  Launch ffmpeg -i /dev/video0 -override_ffserver -c:v mjpeg -metadata:s:v rotate=0 -vf 'transpose=dir=clock,drawtext=fontcolor=white:fontfile=/usr/share/fonts/truetype/ubuntu-font-family/UbuntuMono-R.ttf:expansion=strftime:text=%FT%T:x=(w-text_w)/2:y=h-text_h-5' 
</Feed>

<Stream test>
  Feed feed1.ffm
  Format mpjpeg
  VideoSize 720x1280
  VideoFrameRate 5
  Strict -2
</Stream>

И собираюсь: http://localhost:8090/test

В конечном итоге это показало видео моей веб-камеры с фильтрами, которые не были переопределены значениями по умолчанию для ffserver, то есть:

  • Поворот на 90 градусов, чтобы компенсировать нечетное крепление моей веб-камеры
  • Отметки времени в нижнем центре

Я все еще не могу разобраться с разрешением, но надеюсь, что это поможет решить проблему с фильтрами.

Вы не указываете размер видео в ffserver конфигурация потока, поэтому он использует значение по умолчанию. Например:

ffserver.conf:15: Setting default value for video size = 160x128. Use NoDefaults to disable it.

По некоторым причинам кажется, что это отменяет транспонирование.

Решение состоит в том, чтобы добавить VideoSize WxH в <Stream> используя размер кадра транспонированного изображения.

Другие вопросы по тегам