No ID3 metadata in hls output. (2.3.1) #4353
Piogac
started this conversation in
User Support
Replies: 1 comment 7 replies
-
Hi, well, everything should work. You can check out the metadata here: https://hlsjs.video-dev.org/demo/ at the bottom of the page. You could see segments filled with metadata. Same with Here is my script: input = input.http("https://bcast.vigormultimedia.com:48888/sjcompl192aac")
aac_hifi = %ffmpeg(format="mpegts", %audio.copy)
#aac_hifi = %ffmpeg(format="adts", %audio.copy)
streams = [("aac_hifi", aac_hifi.{ id3 = true, id3_version = 4 })]
def segment_name(metadata) =
timestamp = int_of_float(time())
let {stream_name, duration, position, extname} = metadata
"#{stream_name}_#{duration}_#{timestamp}_#{position}.#{extname}"
end
output.file.hls(playlist="live.m3u8",
fallible=true,
segment_duration=5.0,
segments=10,
segments_overhead=5,
segment_name=segment_name,
persist_at="station.config",
"./hls/",
streams, Not all players support timed_id or hls metadta. E.g. |
Beta Was this translation helpful? Give feedback.
7 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello there,
I am copletely new to liquidsoap (just installed LS 2.3.1 from opam).
I want to transcode 192 kbps aac stream to hls format without re-encoding.
According to this thread (Converting Icecast stream to HLS without re encoding #3256) I copied the script which looks as follows:
input = input.http("https://bcast.vigormultimedia.com:48888/sjcompl192aac")
aac_hifi = %ffmpeg(format="mpegts", %audio.copy)
streams = [("aac_hifi", aac_hifi.{ id3 = true, id3_version = 4 })]
def segment_name(~position,~extname,stream_name) =
timestamp = int_of_float(time())
duration = 5
"#{stream_name}#{duration}#{timestamp}_#{position}.#{extname}"
end
output.file.hls(playlist="live.m3u8",
fallible=true,
segment_duration=5.0,
segments=10,
segments_overhead=5,
segment_name=segment_name,
persist_at="station.config",
"/home/piotr/hls/sjcompl",
streams,
input)
The above script is working fine except the fact that there are no Tags displyed.
( https://bcast.vigormultimedia.com/sjcompl/live.m3u8 ).
In the source link which is Icecast2 ( https:/bcast.vigormultimedia.com:48888/sjcompl192aac )
the Tags are displayed properly.
What I did to fix that ?
format="mpegts" to format="adts" [ ‘mpegts’ accepts only timed_id3 ].
But when format="adts" is used, I get the error I have no idea how to fix it.
_At /home/piotr/bin/transcoder_hls_old.liq, line 10, char 24-64:
streams = [("aac_hifi", aac_hifi.{ id3 = true, id3_version = 4 })]
Error 7: Invalid value:
File extension cannot be inferred from codec, please specify it in
streams_info
.(also when mpegts replaced with adts).
The encoder works fine but there is no Tags displayed.
aac_hifi = %ffmpeg(format="mpegts",
%audio(
codec="aac",
channels=2,
ar=48000,
b="192k"
)).{id3_version = 4}
streams = [("aac_hifi", aac_hifi)]_
Any suggestions kindly welcomed. (I’m copletely new to ls).
Piotr
Beta Was this translation helpful? Give feedback.
All reactions