remotion-dev/remotion · error · Error
Streams with UNIX timestamps are not currently supported by
Error message
Streams with UNIX timestamps are not currently supported by Remotion. Sorry!
What it means
Thrown by use-thumbnail's setVideoTrack when the primary video track reports isRelativeToUnixEpoch() === true. Thumbnail sampling relies on media-relative timestamps; UNIX-epoch timestamps break the seek/sample math, so the hook refuses the input.
Source
Thrown at packages/convert/app/lib/use-thumbnail.ts:42
const execute = useCallback(() => {
const getDuration = async () => {
const duration = await input.computeDuration();
waveform.setDuration(duration);
};
const setVideoTrack = async () => {
const videoTrack = await input.getPrimaryVideoTrack();
if (videoTrack) {
if (await videoTrack.isLive()) {
throw new Error(
'Live streams are not currently supported by Remotion. Sorry!',
);
}
if (await videoTrack.isRelativeToUnixEpoch()) {
throw new Error(
'Streams with UNIX timestamps are not currently supported by Remotion. Sorry!',
);
}
const videoSink = new VideoSampleSink(videoTrack);
let samples = 0;
const iterator = videoSink.samples();
for await (const sample of iterator) {
samples++;
onVideoThumbnail(sample.toVideoFrame());
sample.close();
if (samples === 60) {
iterator.return().catch(() => undefined);
break;
}
}
View on GitHub (pinned to 78fe4bb3fd)
Solutions
- Remux to reset timestamps: `ffmpeg -i in.ts -c copy -avoid_negative_ts make_zero out.mp4`.
- Re-encode the source to rewrite PTS relative to stream start.
- Skip thumbnail generation for epoch-relative inputs.
Example fix
// before if (await videoTrack.isRelativeToUnixEpoch()) throw ...; // after (normalize the source upstream) // $ ffmpeg -i in.ts -c copy -avoid_negative_ts make_zero -f mp4 out.mp4 // then load out.mp4 into Convert
Defensive patterns
Strategy: validation
Validate before calling
const videoTrack = await input.getPrimaryVideoTrack();
if (videoTrack && await videoTrack.isRelativeToUnixEpoch()) {
suggestRemux('ffmpeg -i in.ts -c copy -avoid_negative_ts make_zero out.mp4');
return;
} Type guard
null
Try / catch
try { await setVideoTrack(); }
catch (e) {
if (e.message.includes('UNIX timestamps')) suggestRemux();
else throw e;
} Prevention
- Remux MPEG-TS/DASH sources to zero-based PTS before importing.
- Detect epoch-relative tracks early and surface a remux hint.
- Use MP4 outputs from capture hardware when possible.
When it happens
Trigger: Loading MPEG-TS or DASH segments whose PTS reference is the UNIX epoch rather than zero-based media time, in the thumbnail path. Same root cause as error 191 but in the thumbnail hook.
Common situations: Hardware-encoder captures, broadcast MPEG-TS files, or DASH with wall-clock timing fed into the Convert UI for thumbnails.
Related errors
- Streams with UNIX timestamps are not currently supported by
- Live streams are not currently supported by Remotion. Sorry!
- No supported configs
- Live streams are not currently supported by Remotion. Sorry!
- Scale must be greater than 0
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/07182b382be46e59.
Report an issue: GitHub.