mptsd reads mpegts streams from udp/multicast or http and combines them into one multiple program stream that is suitable for outputting to DVB-C modulator. Tested with Dektec DTE-3114 Quad QAM Modulator and used in production in small DVB-C networks. https://georgi.unixsol.org/programs/mptsd/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Makefile 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. CC = $(CROSS)$(TARGET)gcc
  2. STRIP = $(CROSS)$(TARGET)strip
  3. VERSION="v1.1"
  4. ifndef REPRODUCIBLE_BUILD
  5. BUILD_ID = $(shell date +%F_%R)
  6. GIT_VER = $(shell git describe --tags --dirty --always 2>/dev/null)
  7. endif
  8. CFLAGS = -ggdb -Wall -Wextra -Wshadow -Wformat-security -Wno-strict-aliasing -O2 -D_GNU_SOURCE -DBUILD_ID=\"$(BUILD_ID)\"
  9. ifneq "$(GIT_VER)" ""
  10. CFLAGS += -DGIT_VER=\"$(GIT_VER)\"
  11. else
  12. CFLAGS += -DGIT_VER=\"$(VERSION)\"
  13. endif
  14. RM = /bin/rm -f
  15. Q = @
  16. uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
  17. ifeq ($(uname_S),Darwin)
  18. LIBS = -lpthread -lm
  19. else
  20. LIBS = -lpthread -lm -lrt
  21. endif
  22. FUNCS_DIR = libfuncs
  23. FUNCS_LIB = $(FUNCS_DIR)/libfuncs.a
  24. TSFUNCS_DIR = libtsfuncs
  25. TSFUNCS_LIB = $(TSFUNCS_DIR)/libtsfuncs.a
  26. mptsd_OBJS = $(FUNCS_LIB) $(TSFUNCS_LIB) \
  27. iniparser.o inidict.o pidref.o data.o config.o \
  28. sleep.o network.o \
  29. input.o \
  30. output_psi.o output_mix.o output_write.o \
  31. web_pages.o web_server.o \
  32. mptsd.o
  33. PROGS = mptsd
  34. CLEAN_OBJS = $(PROGS) $(mptsd_OBJS) *~
  35. all: $(PROGS)
  36. $(FUNCS_LIB):
  37. $(Q)echo " MAKE $(FUNCS_LIB)"
  38. $(Q)$(MAKE) -s -C $(FUNCS_DIR)
  39. $(TSFUNCS_LIB):
  40. $(Q)echo " MAKE $(TSFUNCS_LIB)"
  41. $(Q)$(MAKE) -s -C $(TSFUNCS_DIR)
  42. mptsd: $(mptsd_OBJS)
  43. $(Q)echo " LINK mptsd"
  44. $(Q)$(CC) $(CFLAGS) $(mptsd_OBJS) $(LIBS) -o mptsd
  45. %.o: %.c data.h
  46. $(Q)echo " CC mptsd $<"
  47. $(Q)$(CC) $(CFLAGS) -c $<
  48. strip:
  49. $(Q)echo " STRIP $(PROGS)"
  50. $(Q)$(STRIP) $(PROGS)
  51. clean:
  52. $(Q)echo " RM $(CLEAN_OBJS)"
  53. $(Q)$(RM) $(CLEAN_OBJS)
  54. distclean: clean
  55. $(Q)$(MAKE) -s -C $(TSFUNCS_DIR) clean
  56. $(Q)$(MAKE) -s -C $(FUNCS_DIR) clean