Custom Directshow-based TV viewing application

Completed Posted Apr 20, 2008 Paid on delivery
Completed Paid on delivery

[url removed, login to view], Taiwan-based hardware maker of ISDB-T and ISDB-S Digital TV receiver for Japan market is looking for talented Directshow / Win32 programmers to rewrite and redesign current viewer application.

The applicant, should they be accepted, must be familiar with C++, COM, DirectShow (VMR, building filters, etc), MPEG2 Transport Streams, Conditional Access, etc related to Digital TV on PC.

The applicant would need to have environment to test the software.

If the applicant resides in Japan, hardware for testing will be provided. If the applicant has access to ISDB-T modulator, the hardware and test streams will be provided.

Otherwise, the applicant must write sufficient test case (for example, file-based directshow source filter), which would provide all the same features of hardware filter while accessing transport stream from a local file.

## Deliverables

Applicant must be familiar with, or willing to learn details of ISDB digital broadcasting standard. While largely based on DVB, it contains some region specific additions and changes. If the applicant has worked on DVB-T directshow-based software, that would be a big plus.

Familiarity with MPEG2TS, section parsing, and basic PSI sections, PAT/PMT/EIT/etc is required. Knowing conditional access, CAT table, ECM/EMM processing is a plus. ISDB uses conditional access, and documentation will be provided along with sample code to implement it.

All ISDB-related specifications will be provided to the applicant which choosed to accept this project.

The applicant will be responsible for (re)designing the low-level portion of the viewer software, based on several DirectShow filters, using Microsoft TSDemux filter (or implementing own from scratch), implementing conditional access processing, implementing ISDB-based subtitles (bitmap rendering in VMR), ISDB-specific EIT-based EPG and appropriate viewer, and design and deliver a usable WTL or MFC based GUI.

During the course of application development, the applicant will be responsible for creating several Directshow filters, related to the task of processing ISDB digital television. These will be compiled into the app (instatiated by class, instead of factory).

1) Source filter, which will handle communication with hardware adapter, handle setting hardware paramters and tuning etc,? and receive mpeg2 transport stream. This filter can be replaced with a properly written rate-controlled file source filter for testing purposes.

2) Decode filter, which will communicate with SI filter (below) and with Conditional access system to decode mpeg2 transport stream received from the Source filter. CA specifics and decode algorithms will be provided.

3) (Optional) transport stream demux filter. This must properly handle section, pid filtering, and ability to assign arbitrary PIDs to output pins, and properly handle demuxing the 4 required media types (mpeg2, h264, AAC LC/HE audio). Section filtering must support usual PSI sections, such as PAT, PMT, SDT, etc. Bonus for optimizing section parser based on section version and tsid, to avoid overhead of caching redundant data. Otherwise, standard Microsoft MPEG2 Demultiplexer filter can be used for this purpose.

4) SI (service information) filter. This filter would attach to demux filter's section output pin, and process various PSI-related tables, EIT, CAT, etc. This filter would communicate with the decode filter to set conditional access paramters, with demux filter to attach Video/Audio/Subtitle PIDs for demux, and with the application to inform of events such as EPG data collected from EIT table sections.

5) Subtitle filter. This would receive encoded closed caption stream (NOT north american closed captions/euro teletext) - specifications for this will be provided), parse the subtitle style,duration,position,etc, and communicate with VMR running in Mixing mode to display the subtitle on-screen overlay.

6) And finally, the application. It should provide usual interface for TV viewing, channel surfing, volume control, control the source filter to change channels, etc, ability to select from multiple program broadcast based on data received from SI filter, display closed captions as required (controlling the subtitle filter), ability to save current screenshot, to begin instant recording, (time shifting would be a plus, but optional), and screens for configuration, EPG (can be integrated as overlay into the main video window as a bonus), etc. Some capability to do scheduled recordings (for example via command line and tasks integration), provide feedback on currently viewed program as gathered from EIT, etc.

The application must properly support running multiple instances of itself with multiple hardware adapters connected.

The code should be sufficiently documented so that it's development can be continued by local programmer team.

* * *This broadcast message was sent to all bidders on Monday Apr 21, 2008 10:41:13 AM:

FYI, we have updated the bid request with technical details regarding how the application must be implemented. Understanding or willingness to learn rapidly of all the concepts mentioned is a requirement prior to bidding.

C Programming Engineering Microsoft MySQL PHP Project Management Software Architecture Software Testing Windows Desktop

Project ID: #3884071

About the project

4 proposals Remote project Active May 9, 2008

Awarded to:

vux3m

See private message.

$847.87 USD in 14 days
(62 Reviews)
7.2

4 freelancers are bidding on average $2974 for this job

canlevw

See private message.

$4250 USD in 14 days
(55 Reviews)
6.8
thesunmoon

See private message.

$2550 USD in 14 days
(3 Reviews)
0.0
vw6585270vw

See private message.

$4250 USD in 14 days
(1 Review)
0.0