Transcoding Videos

How to speed up your videos upload time with transcoding

Kelli avatar
Written by Kelli
Updated over a week ago

Video is complex and streaming video even more so.  When you use TelemetryTV's video capabilities the videos themselves are streamed and cached on devices.   TelemetryTV expects videos in a specific format in order to efficiently play them. Devices also have limited capabilities for gracefully handling videos.  

TelemetryTV Requirements

TelemetryTV uses browser technology to stream your videos through dynamic adaptive streaming over HTTP (DASH). This allows videos to be very large (up to 1GB in size), work in browsers and yet still start streaming with minimal delay.

If the videos you upload are not DASH compatible they will be converted to a suitable format via a process known as transcoding by TelemetryTV automatically during your upload. If an uploaded video is transcoded by our servers, you will see "Transcoded by TelemetryTV" after uploading.

TelemertyTV will also create a thumbnail of your video after you upload it.

All of this process can take some time, perhaps 10's of minutes for larger videos.

It's best if you transcode your videos before uploading since you will often be able to do this faster with more control yourself.

Upload Video Formats

In order for TelemetryTV to accept your file for upload and transcoding it must be in the following supported formats (we can't convert other video formats):

  • MP4

  • WebM

  • OGG

  • MOV (Quicktime)

  • AVI

Playback Video Formats

TelemetryTV media players require videos to be in the following format for playback:

  • MP4 (not OGG, MPEG, Quicktime, AVI, FLV, etc)

  • Support fragmented playback for DASH streaming

  • Be under 1GB in size

Supported Playback Codecs

  • H.264 (our chosen format, larger files but fast encoding)

  • VP9 (medium, slow encoding)

  • H.265 (very poor device compatibility)

  • AAC for audio 

Telemetry uses H.264 over H.265 or VP9 since the transcoding for it is much faster. However the file sizes are much smaller for some newer codecs. You may experiment with this and see how your performance is if you transcode videos yourself before uploading. Make sure to test on devices that you intend to use since different devices will support different codecs better.

Note that H.265 isn't supported on most devices in general (only on Android with supported hardware). AV1 is not currently supported.

Checking Compatibility

You can check the compatibility of your videos that you intend to upload by using MP4Box and the -info command. You'll want to see that it shows the file is fragmented, suitable for progressive download and does not have the "tmcd" codec parameters.

Transcoding Videos Yourself

To eliminate the transcoding process by TelemetryTV and speed up your upload you can transcode the video yourself to a format that TelemetryTV uses for playback.

A popular way to transcode a video is to use the CLI tool ffmpeg.  The command line that TelemetryTV uses to transcode a video with ffmpeg is as follows:

ffmpeg -i input.mp4 -f mp4 -c:v h264 -c:a aac -movflags empty_moov+omit_tfhd_offset+frag_keyframe+default_base_moof+faststart output.mp4 -write_tmcd 0

Install ffmpeg and use this command on the command line to transcode your video, replacing input.mp4 and output.mp4 with the names of your video.  Upload the resulting file to TelemetryTV and it'll be ready to use once done.

You may alternately use a graphical tool like Handbrake to perform the same function of converting to support MPEG DASH.

☝️ Please note: This is advanced. We recommend looking up how to view and understand your videos' properties before transcoding.

Did this answer your question?