Skip to content

Commit

Permalink
ffmpeg: add hls demuxer and https, crypto select
Browse files Browse the repository at this point in the history
enable ffmpeg to handle input file in the format of https://xxx.m3u8
crypto protocol is used to decrypt AES-encrypted HLS streams (.m3u8 files)

Signed-off-by: Shuai Wang <[email protected]>
  • Loading branch information
wangLshuai committed Dec 2, 2024
1 parent 0b04156 commit e60ce12
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
9 changes: 9 additions & 0 deletions multimedia/ffmpeg/Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -383,6 +383,9 @@ config FFMPEG_CUSTOM_DEMUXER_mpegps
config FFMPEG_CUSTOM_DEMUXER_mpegts
bool "MPEG-2 (TS)"

config FFMPEG_CUSTOM_DEMUXER_hls
bool "hls"

config FFMPEG_CUSTOM_DEMUXER_mpc
bool "Musepack"

Expand Down Expand Up @@ -466,6 +469,12 @@ config FFMPEG_CUSTOM_PROTOCOL_file
config FFMPEG_CUSTOM_PROTOCOL_http
bool "http:"

config FFMPEG_CUSTOM_PROTOCOL_https
bool "https:"

config FFMPEG_CUSTOM_PROTOCOL_crypto
bool "crypto:"

config FFMPEG_CUSTOM_PROTOCOL_icecast
bool "icecast:"
select FFMPEG_CUSTOM_PROTOCOL_http
Expand Down
9 changes: 7 additions & 2 deletions multimedia/ffmpeg/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ FFMPEG_CUSTOM_DEMUXERS:= \
mp3 \
mpegps \
mpegts \
hls \
mpegvideo \
mpc \
mpc8 \
Expand All @@ -121,7 +122,7 @@ FFMPEG_CUSTOM_PARSERS:= \
vc1 \

FFMPEG_CUSTOM_PROTOCOLS:= \
file http icecast pipe rtp tcp udp
file http icecast pipe rtp tcp udp https crypto

FFMPEG_MINI_DECODERS:= \
ac3 \
Expand Down Expand Up @@ -314,7 +315,8 @@ $(call Package/libffmpeg/Default)
+FFMPEG_CUSTOM_SELECT_libopus:libopus \
+PACKAGE_libx264:libx264 +PACKAGE_lame-lib:lame-lib \
+FFMPEG_CUSTOM_SELECT_libshine:shine \
+PACKAGE_fdk-aac:fdk-aac
+PACKAGE_fdk-aac:fdk-aac \
+FFMPEG_CUSTOM_PROTOCOL_https:libopenssl
VARIANT:=custom
MENU:=1
endef
Expand Down Expand Up @@ -508,6 +510,9 @@ ifeq ($(BUILD_VARIANT),custom)
$(foreach c, $(2), \
$(if $($(3)_$(c)),--enable-$(1)="$(c)") \
)
ifeq ($(CONFIG_FFMPEG_CUSTOM_PROTOCOL_https),y)
FFMPEG_CONFIGURE+=--enable-openssl
endif

ifeq ($(CONFIG_FFMPEG_CUSTOM_LARGE),y)
FFMPEG_CONFIGURE+= \
Expand Down

0 comments on commit e60ce12

Please sign in to comment.