0% found this document useful (0 votes)
4 views4 pages

Encoding and SCTE-35 Parsing Assignments

The document outlines two assignments for developers: creating a bash script named 'transcode.sh' to transcode video files using ffmpeg with specific format and codec requirements, and writing a C program 'scte35_parser.exe' to parse SCTE-35 splice_info_section data from a binary file into a human-readable text format. Each assignment has detailed requirements, including file formats, codec specifications, and deliverables, with a strong emphasis on adhering to deadlines. Additionally, comments on the results are required in a separate text file for both assignments.

Uploaded by

onurkaracop96
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views4 pages

Encoding and SCTE-35 Parsing Assignments

The document outlines two assignments for developers: creating a bash script named 'transcode.sh' to transcode video files using ffmpeg with specific format and codec requirements, and writing a C program 'scte35_parser.exe' to parse SCTE-35 splice_info_section data from a binary file into a human-readable text format. Each assignment has detailed requirements, including file formats, codec specifications, and deliverables, with a strong emphasis on adhering to deadlines. Additionally, comments on the results are required in a separate text file for both assignments.

Uploaded by

onurkaracop96
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Encoding Developer Assignment Questions

1. Create an encoding profile

Your assignment is to write a bash script that uses ffmpeg command line tool and
transcode an input video file according to the requirements below.

Requirements
Please read these requirements carefully. Your assignment will not be accepted otherwise
1. Script must be bash script and can be run from linux command line.
2. Script will be named as “[Link]” and usage will be as below.
Usage: [Link] INPUT_FILE OUTPUT_FILE
e.g: $./[Link] /data/input.mp4 /data/[Link]
3. Script must use ffmpeg command line tool to transcode input file
([Link]).
4. Output file format should comply with the specification in Table 1.1.
5. Output file video track should comply with the specification in Table 1.2.
6. Output file audio track should comply with the specification in Table 1.3.
7. Please comment on your output if there is any discrepancy, and explain possible
ways to address the problem if any.

Table 1.1 : Format Specification


Description Requirement

Format MPEG-TS (Transport Stream)

File Extension .ts

PMT PID 0x01E0 (480)

Video PID (includes PCR) 0x01E1 (481)

Audio PID 0x01E2 (482)

Bitrate 6 Mbps (CBR transport stream)


Table 1.2 : Video Specification
Description Requirement

Codec AVC (H.264 | MPEG-4 Part 10)

Profile AVC Baseline Profile

Resolution 1080p

Aspect Ratio 16:9

Bitrate 5 Mbps (CBR mode)

Chroma Subsampling 4:2:2

GOP size 50

B frames 3

Table 1.3 : Audio Specification


Description Requirement

Codec AAC-HE (High Efficiency Advanced Audio


Coding)

Channels Stereo

Sampling Rate 44100

Bitrate 64 Kbps

Deliverables
Please deliver the following items via email:

1. A bash script named “[Link]”.


2. Any comment on the results in a flat text file named “[Link]”

Deadline
Deliver by the deadline as communicated to you by your recruiter. Deadline is extremely
important.
2. SCTE-35 Parser

Your assignment is to write a C program on linux which will parse a binary file and
output a text file according to the requirements below. Binary file contains one or more
consecutive “SCTE-35 splice_info_section()“ data and will be provided to you
via email by the recruiter. Output text file should contain the field values of “SCTE-35
splice_info_section()“s in human readable form.

Requirements
Please read these requirements carefully. Your assignment will not be accepted otherwise
1. Program must be written in C language on a linux platform. Please use a plain
makefile and use GNU make.
2. Program will be named as “scte35_parser.exe” and usage will be as below.
Usage: scte35_parser.exe INPUT_FILE OUTPUT_FILE
e.g: $./scte35_parser.exe [Link] [Link]
3. Input file contains one or more consecutive “SCTE-35
splice_info_section()“ data. You may only implement splice_insert() and
time_signal() splice command types and segmentation_descriptor() among
splice descriptors. The SCTE-35 standard document url is
[Link]
4. Output file should be a text file containing all the splice_info_section() in
the input file. Example output format is :

splice_info_section() {
table_id : 1
section_syntax_indicator : 1

...
splice_command_type : 6
time_signal () {
splice_time () {
time_specified_flag: 0
...
}
}

...
}
splice_info_section() {

...
}

5. Your program should parse the whole input file first and store all
splice_info_section()’s in memory. Only after parsing is done you should
write this array to the output file.
6. Handle all the errors and show the errors on the screen. In case of error, exit the
program with a non-zero error code.
7. The only exit point of the program should be at the end of main().
8. Do not use 3rd party libraries.

Deliverables
Please deliver the following items via email:

1. A tar file contains the source code and makefile of your program.
2. Any comment on the results in a flat text file named “[Link]”.

Deadline
Deliver by the deadline as communicated to you by your recruiter. Deadline is extremely
important.

You might also like