Переменная a равна пустой строке.
a=
if [ "$a" -eq "" ]; then echo 'good'; fi
Вывод:
$ . tst.sh
good
И для этого кода:
a=
if [ -z "$a" ]; then echo 'good'; fi
Вывод тот же.
ffmpeg
для кодирования, vlc
для потоковой передачи. Оба открыты и бесплатны.
+1 при чтении документации для VLC, как предложено в комментарии к другому ответу. Я успешно использовал vlc для создания потоков из статических файлов, видеоустройств (карта захвата, веб-камера) или других потоков, которые затем отправляются в другой экземпляр VLC для захвата и трансляции на потоковый сервер darwin (бесплатная/открытая версия потокового сервера quicktime) и на медиасервер wowza.
Имейте в виду, что все эти методы создают не тихую прямую трансляцию — я всегда получал 10-12-секундную задержку, в зависимости от того, какое программное обеспечение использовалось. Конечно, изменения в программном обеспечении также включали более быстрые процессоры, больше оперативной памяти, лучшие сети и т. д., что может быть причиной сокращения задержки.