I have an application using the appsrc pipeline to convert raw RGBA frames into an HLS stream. The files are saved locally, and when played back via VLC locally it plays without issue.
This is the working pipeline:
appsrc
- video/x-raw
- format=RGBA
- width=720
- height=1550
- framerate=25/1
- stream-type=0
- is-live=TRUE
- format=GST_FORMAT_TIME
videoconvert
openh264enc
- profile=high
- bitrate=1000
h264parse
- config-interval=1
mpegtsmux
hlssink
- max-files=5
- target-duration=25
- playlist-length=3
- location=.../.ts
- playlist-location=.../video.m3u8
But when I run a local web server (tried multiple), point it at the directory with the files, nothing plays with either VLC nor browser on another device on the network. The web server doesn't have any errors, it verifies that it receives GET requests first for the m3u8, then the individual .ts file, but playback doesn't happen. Other files like jpeg are served properly, so I'm almost certain the servers nor firewall aren't the issue here.
Again, the HLS file plays without issue locally via VLC, just not over a local server. What could be the issue?
CodePudding user response:
I had a do-timestamp=true property I had to set false, then everything worked.