18:21
I’m creating a timelapse video from a folder of images using FFmpeg, generating two HLS (m3u8) playlists: one at 1080p and another at 2K resolution. The playlists and .ts segments appear to be generated correctly, but when I play the m3u8 files in media players like VLC or PotPlayer, the video does not play seamlessly. Instead, it plays in a segment-by-segment manner (e.g., it stops after each segment and doesn’t automatically continue to the next one). I expect the entire video to play continuously without interruptions. What could be the issue?
I ran these commands on cmd:
for %i (...)
16:22
I have an .srt file where each speech segment is supposed to last a specific duration (e.g., 4 seconds). However, when I generate the speech using Google Text-to-Speech (TTS) with SSML, the resulting audio plays the same segment in a shorter time (e.g., 3 seconds).
I want to adjust the speech rate dynamically in SSML so that each segment matches its original timing. My idea is to use ffmpeg to extract the actual duration of each generated speech segment, then calculate the speech rate percentage as:
generated duration
speech rate = --------------------
original (...)
12:45
I am trying to decode and then re-encode an RTP video-stream. I need to use OpenH264 codec by Cisco. I used this codec with the FFmpeg tool:
ffmpeg -hide_banner \\
-protocol_whitelist file,rtp,udp \\
-err_detect ignore_err \\
-c:v libopenh264 \\
-i /src/stream.sdp \\
-c:v libopenh264 \\
-profile:v high \\
$OUTPUT_FILE &
The stream has a little packet-loss (around 2-3 % in the middle of the stream), and when packet loss occur, the codec print a lot of errors in the logs:
[sdp ⓐ 0x5bfcad506740] max delay reached. need to consume packet (...)
08:00
I want to speed up the process of HLS segmentation of .mp4 video. Now, processing a half-hour video can take about 5 minutes, and that is too long.
To do this, I decided to split the video into fragments, process each of them in parallel, and then create an .m3u8 file that will contain a list of .ts files from all the resulting playlists in the correct order.
I used the next commands:
ffmpeg -i original.mp4 -acodec copy -f segment -segment_time 10 -vcodec copy -reset_timestamps 1 -map 0 output_time_%d.mp4
for splitting the original video to .mp4 fragments 10 seconds (...)
07:29
I'm working on a video player using FFmpeg in C++, where I need to seek to a specific PTS (timestamp) and start decoding from there. However, even after a successful av_seek_frame(), decoding always starts from frame 0 instead of the target frame.
void decodeLoop()
while (!stopThread)
std::unique_lock lock(mtx);
cv.wait(lock, [this] return decoding || stopThread; );
if (stopThread) break;
int64_t reqTimestamp = requestedTimestamp.load();
// **Skip redundant seeks**
if (reqTimestamp == (...)