remotion-dev/remotion · error
Streams with UNIX timestamps are not currently supported by
Error message
Streams with UNIX timestamps are not currently supported by Remotion. Sorry! Source: ${src} What it means
Thrown by getFramesSinceKeyframe in @remotion/media when the primary video track reports timestamps relative to the Unix epoch. Remotion's offthread frame extractor assumes zero-based media time and seeks by offset; Unix-epoch PTS (from raw broadcast/RTMP captures) violates that assumption. Fires at get-frames-since-keyframe.ts:105.
Source
Thrown at packages/media/src/video-extraction/get-frames-since-keyframe.ts:105
if (format === null) {
return 'unknown-container-format';
}
const videoTrack = await input.getPrimaryVideoTrack();
if (!videoTrack) {
return 'no-video-track';
}
if (await videoTrack.isLive()) {
throw new Error(
'Live streams are not currently supported by Remotion. Sorry! Source: ' +
src,
);
}
if (await videoTrack.isRelativeToUnixEpoch()) {
throw new Error(
'Streams with UNIX timestamps are not currently supported by Remotion. Sorry! Source: ' +
src,
);
}
const canDecode = await videoTrack.canDecode();
if (!canDecode) {
if (videoTrack.codec === 'prores') {
return 'cannot-decode-prores';
}
return 'cannot-decode';
}
const sampleSink = new VideoSampleSink(videoTrack);
const packetSink = new EncodedPacketSink(videoTrack);
View on GitHub (pinned to 78fe4bb3fd)
Solutions
- Normalize timestamps via ffmpeg: ffmpeg -i input.ts -fflags +genpts -avoid_negative_ts make_zero out.mp4.
- Transcode to a container with zero-based PTS (MP4).
- Use a cleanly-authored source file.
Example fix
# before: raw broadcast TS
remotion render --props='{"src":"capture.ts"}'
# after: normalize first
ffmpeg -i capture.ts -fflags +genpts -avoid_negative_ts make_zero out.mp4
remotion render --props='{"src":"out.mp4"}' Defensive patterns
Strategy: validation
Validate before calling
null
Try / catch
// Pre-process with ffmpeg to normalize timestamps: // ffmpeg -i input.ts -fflags +genpts -avoid_negative_ts make_zero out.mp4
Prevention
- Normalize timestamps of broadcast/TS sources before ingestion.
- Prefer MP4/WebM sources with zero-based PTS for offthread video.
- Reject raw transport-stream captures at the input boundary.
When it happens
Trigger: An <OffthreadVideo>/<Video> source whose video track is anchored to absolute Unix timestamps (raw MPEG-TS from RTMP/ATSC/IPTV). videoTrack.isRelativeToUnixEpoch() resolves true during frame extraction.
Common situations: Feeding an unprocessed broadcast/IPTV capture to the offthread video pipeline. The media-player path may also reject the same file with a sibling error.
Related errors
- Streams with UNIX timestamps are not currently supported by
- Live streams are not currently supported by Remotion. Sorry!
- No src passed
- The media ${ref.src} cannot be seeked. This could be one of
- No `src` was passed to <Video>.
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/b24c5ab55e8426d3.
Report an issue: GitHub.