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

  1. Normalize timestamps via ffmpeg: ffmpeg -i input.ts -fflags +genpts -avoid_negative_ts make_zero out.mp4.
  2. Transcode to a container with zero-based PTS (MP4).
  3. 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

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


AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12). Data as JSON: /api/errors/b24c5ab55e8426d3. Report an issue: GitHub.