ffmpeg - mediastreamsegmenter stops sending id3 metadata using HLS -
i using combination of ffmpeg
and apple's mediastreamsegmenter
, id3taggenerator
create hls stream metadata (id3) embedded in it. have of applications running , able retrieve metadata out of stream on client side, issue after seems random amount of time, client stops receiving metadata on stream.
here have working now:
this ffmpeg
, mediastreamsegmenter
part:
ffmpeg -i udp://@:5010 -c:v libx264 -crf:v 22 -b:v 500k -preset:v veryfast -c:a libfdk_aac -b:a 64k -f mpegts - | mediastreamsegmenter -b http://localhost/stream -f /usr/local/nginx/html/stream/ -t 10 -s 4 -s 1 -d -y id3 -m -m 4242 -l log.txt
this taking udp stream on localhost on port 5010 , encoding video , audio h.264 , aac, respectively. pipping mpeg-2 transport stream segments mediastreamsegmenter
, in turn generating .m3u8
file , associated .ts
files , placing them on nginx
webserver. mediastreamsegmenter
listening on port 4242 tcp traffic id3taggenerator
show how using now:
id3taggenerator -text '{"x":"12","y":"36"}' -a localhost:4242
as can see, sending simple x-y coordinates in json text mediastreamsegmenter
listening on port 4242. using python script send test data @ moment. here script:
#!/usr/local/bin/python3 subprocess import call time import sleep in range(0, 10): j in range(0, 10): x = str(20 * i) y = str(20 * j) print("x: " + x + " - y: " + y) call(["id3taggenerator", "-text", "{\"x\":\"" + x + "\",\"y\":\"" + y + "\"}", "-a", "localhost:4242"]) sleep(1.0)
this script sending bunch of x-y coordinates using id3taggenerator
cli. have adjusted sleep
amount 0.1 15 , doesn't seem make difference. client application getting metadata out of stream prints out anywhere 4 35 points, never has ever received of x-y coordinates.
i wondering if there limit amount of metadata can sent per frame, cannot seem find specifies hard-limit value of these tools...
Comments
Post a Comment