Find keyframes in MPEG-2 TS

I have some TV recordings in MPEG-2 Transport Stream format

[url removed, login to view]

The recordings are using standard 188-bytes packets.

I need a C/C++ function, which reads the recording file and finds first I frame (key frame) position.

The function will accept two parameters:

- file pointer "fp"

- unsigned integer with seek position "pos"

The function will seek in the file pointer "fp" to the position "pos" (SEEK_SET), and will read the packets until key frame in the video is found. When found, the function returns unsigned integer - the absolute position of the key frame.

The seek position "pos" passed to the function will always be a position of packet header start (byte G). Thus it will always be a multiply of 188.

You can't use any third party libraries for this (e.g. ffmpeg). You must read the raw file data and you must analyze it on your own. The reason is that your C code will be reimplemented later to a different programming language which doesn't have any such libraries.

Example file uploaded to the project as "[url removed, login to view]"

Habilidades: Programação C, Programação C++

Veja mais: wiki seek, unsigned integer, tv programming, the seek, the c++ programming language wiki, seek wiki, seek c, programming wiki, pointer programming, mpeg recording, g programming language, g code programming language, first programming language, find wikipedia, e programming language, c seek, c programming wiki, c programming pointer, c programming language wiki, c programming find function, first video recording, raw file, mpeg, fp&a, analyze video

Acerca do Empregador:
( 67 comentários ) Sumperk, Czech Republic

ID do Projeto: #6809893

Concedido a:


Hello, I believe you know that MPEG-TS can carry more than one program which means multiple video streams. So Let me check you sample file then I will let you know. Best regards, Amir

$77 USD em 3 dias
(4 Comentários)

9 freelancers are bidding on average $162 for this job


Hello I'm interesting your project very well I'm a Good C++, MPEG, Algorithm expert. I understand your req exactly. I m quite well experienced in these jobs. Let's go ahead with me I want to service for you c Mais

$265 USD in 3 dias
(38 Comentários)

Hi, I am an experienced C/C++ systems programmer and i can help you create this function with a erro free quality code. Karthik

$222 USD in 5 dias
(5 Comentários)

Hello I almost finished this job. If you have interest for me, please keep message in here. Sincerely, Jiang

$200 USD in 3 dias
(8 Comentários)

Hello, I have over 4+ years of experience in DVB-SI and MPEG in Set-top box development using C Programming language. I have developed parsers for finding out PES packets (Audio/Video Streams) from an existing TS. I th Mais

$111 USD in 3 dias
(2 Comentários)

Hello! I've done similar work some time ago. As I remember it was fast converter of TS stream from TCP to UDP. I've worked with TS structures in that activity. I think I could write such function for you.

$155 USD in 3 dias
(1 Comentário)

Hello Sir, We are leading offshore software Development Company and willing to work with your project. We assure you that we will provide you a robust solution for your project. Looking forward to your favorable Mais

$200 USD in 3 dias
(2 Comentários)

Hi, I have worked on DVB standards and MPEG-2 TS and developed TS-Analyser tool (desktop version) on parsing all the tables. This project also could be a direct parsing of video PID and and PES header to find the Mais

$77 USD in 7 dias
(0 Comentários)

Parsing a final in a binary way is not a problem, i am a C++ developer & can very well do that. But i have little to no idea about mpeg format, if you could provide more inputs on identifying the keyframe i can make Mais

$155 USD in 7 dias
(0 Comentários)