Closed jiangbo closed 1 year ago
Playing by jumping, essentially means clicking on the progress bar and jumping to a certain time. At this time, it is necessary to convert the time into file offset and use the HTTP range to return the data.
MP4 files support jumping because there is a corresponding relationship between time and offset in MP4, which can be achieved by combining with HTTP range requests.
FLV generally relies on metadata to inject the relationship between time and offset into the metadata. This data can be injected using ffmpeg.
Of course, FLV requires player support for this operation, not just server support. On the other hand, MP4 is naturally supported by browsers as a player.
TRANS_BY_GPT3
Description
Please provide a description of your issue here.
When using SRS, I am pushing the stream through RTMP and then recording it to generate an flv file. The file can be played normally, but it is not possible to click on any position on the progress bar to play, i.e., it does not support skipping playback.
There is no built-in log from SRS, and I have not seen any error messages. I have checked the metadata information of the recorded flv file, and the format is as follows:
After using yamdi -i test.1689928615095.flv -o frame.1689928615095.flv to repair it, the file can be played and skipped normally.
Replay
Please describe how to replay the bug.
Step 1: Start SRS, configure DVR for recording, configure RTMP to RTC.
Step 2: Use ffmpeg for streaming.
ffmpeg -re -i test.flv -c copy -f flv rtmp://192.168.1.120/live/test
Step 3: Check that the flv file is missing metadata information and cannot be played by using the built-in nginx server.
Expect
Please describe your expectation.
Expect to be able to play the file normally and be able to click on the progress bar to jump to different positions for playback.
TRANS_BY_GPT3