Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Idea :::: Scrambled The Video + Incrust A Teletext #9

Open
chezsick opened this issue Aug 27, 2018 · 8 comments
Open

Idea :::: Scrambled The Video + Incrust A Teletext #9

chezsick opened this issue Aug 27, 2018 · 8 comments

Comments

@chezsick
Copy link

chezsick commented Aug 27, 2018

Hello, Is Possible To Add Three Program ? :::::

  1. A Program To overlay A Teletext
  2. Two Program To Scramble/Descramble An Video As Nagravision Syster And Videocrypt Only In PAL

The Edit Teletext With ::::: http://edit.tf
There A Program In Java (Not At Github) Called CryptImage To Scrambled An Video See The Source Code

Good Luck, Sick.

@joncampbell123
Copy link
Owner

I suppose that's an interesting idea.

Do you feel comfortable copy-pasting one of the existing CPP files to implement that?

@chezsick
Copy link
Author

chezsick commented Aug 27, 2018

I'm Sorry The Idea Is For build Like To hacktv (always avi output) But hacktv Write I C Not CPP, You Can Translate?

@joncampbell123
Copy link
Owner

I could probably figure it out, but I don't have any interest in that at this time.

I'll keep it bookmarked though if I get around to it.

@chezsick
Copy link
Author

OK, I Hope For The Teletext

@joncampbell123
Copy link
Owner

You may be able to find a ROM file or a bitmap image of the teletext font and render it on the picture as desired.

Since your interest in that kind of rendering is far stronger than mine, you may want to study how to use the FFMPEG API (either my code or examples) and then implement it in a git repository of your own. You'll do a better job than I can.

@joncampbell123
Copy link
Owner

Understand that FFMPEG is actually several libraries.

There is a libavformat, to read packets out of containers (like MP4, AVI, etc).

Then there is libavcodec, which you feed the packets to decode the video and audio of interest.

Each video/audio track is expressed in integer ratios (like fractions), not floating point, to say how many units of time per frame. Timestamps are in "ticks" on that time scale.

There is a presentation time stamp and a decode time stamp (terminology from MPEG standard). They will differ for MPEG, H.264, and other MPEG-like codecs where frame reordering by the codec is used. Use the presentation time stamp to determine when to display the frame.

Because of the frame reordering, the codec will cause a delay from the packet data you feed it to the decoded frame on the other end. It can vary from 1 to 5 frames on average. It will increase the more threads you enable if you enable multi-threaded decoding.

The codec will decode the frame in whatever colorspace it uses. To get RGB, you will need to use libswscale to convert YUV to RGB (and convert RGB back to YUV for encoding).

Have fun!

@joncampbell123
Copy link
Owner

Also, some codecs will represent their own frame rate independent from the video track time scale.

It's possible for example for a MOV to report a video track with a time scale of 1/90000 and the video codec (from the headers) to report a frame rate of 30000/1001.

@chezsick
Copy link
Author

For The Teletext Font, I Like Spanish Text In The Public Domain :::::: https://www.dafont.com/spanish-teletext.font

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants