Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
public:general:gettingstartedwithourcode [2018/02/17 00:45]
cfsmp3
public:general:gettingstartedwithourcode [2018/10/20 20:38] (current)
willem
Line 17: Line 17:
 The usual audio/video streams come in a number of variants. You know how in files you have .avi, .mkv, .mp4, .mpeg and so on? Those are container formats, because they "​contain"​ the parts of the media: Video, audio and subtitles. Each of those have some limitations,​ but in general, the contain format doesn'​t specify how each part of the media is encoded. You have can a .mkv (Matroska) that contains the video encoded as MPEG-2, or H264, etc, then the audio as MP3, or AAC and so on.  The usual audio/video streams come in a number of variants. You know how in files you have .avi, .mkv, .mp4, .mpeg and so on? Those are container formats, because they "​contain"​ the parts of the media: Video, audio and subtitles. Each of those have some limitations,​ but in general, the contain format doesn'​t specify how each part of the media is encoded. You have can a .mkv (Matroska) that contains the video encoded as MPEG-2, or H264, etc, then the audio as MP3, or AAC and so on. 
  
-In TV broadcast, the typical container is the Transport Stream (.ts). ​Transport Stream can carry more than one TV program (for example, BBC One, BBC Two and BBC News), each of them with its own video, audio, and subtitles (and for each, maybe more than one language).+In TV broadcast, the typical container is the Transport Stream (.ts). ​Transport Stream can carry more than one TV program (for example, BBC One, BBC Two and BBC News), each of them with its own video, audio, and subtitles (and for each, maybe more than one language).
  
 Streaming services such as iTunes uses .mp4.  Streaming services such as iTunes uses .mp4. 
Line 25: Line 25:
 === Subtitles === === Subtitles ===
  
-Our input streams are files that contain subtitles. These subtitles can encoded in a different ways depending on the country they come from or the tecnology ​used to make the recording. Focusing on recordings made from a TV broadcast, we have:+Our input streams are files that contain subtitles. These subtitles can be encoded in a different ways depending on the country they come from or the technology ​used to make the recording. Focusing on recordings made from a TV broadcast, we have:
  
-**CEA-608**,​ which is the "​old"​ format used in North America. It comes from the analog days of NTSC, but the while the transmission was analog, in the end you had 2 bytes (that'​s digital) of subtitles ​in each frame, and that's the one thing that is important to keep in mind. You don't need to bother understanding the analog part of the transmission,​ because what we process is just those two bytes.+**CEA-608**,​ which is the "​old"​ format used in North America. It comes from the analog days of NTSC, but while the transmission was analog, in the end you have 2 bytes (that'​s digital) of subtitle data in each frame, and that's the one thing that is important to keep in mind. You don't need to bother understanding the analog part of the transmission,​ because what we process is just those two bytes.
  
 By the way, in North America those subtitles that you can turn on and off are called **closed captions**. By the way, in North America those subtitles that you can turn on and off are called **closed captions**.
Line 62: Line 62:
 Once we know what type of stream we're processing we know which demuxer to use to read it. Once we know what type of stream we're processing we know which demuxer to use to read it.
  
-We have demuxers for Transport Streams (in ts_functions.c),​ mp4 (in mp4.c) and more. The block that, after knowing the type of container, decides what to do, is in the main file, ccextractor.org,+We have demuxers for Transport Streams (in ts_functions.c),​ mp4 (in mp4.c) and more. The block that, after knowing the type of container, decides what to do, is in the main file, ccextractor.c,
  
 <​code>​ <​code>​
Line 159: Line 159:
 6) Use the variable. 6) Use the variable.
  
-A [[https://​github.com/​CCExtractor/​ccextractor/​commit/​150d2e7404843491baaf94b33ca7416279d55bb8|sample commit]] that does all the steps and adds a new option:+A [[https://​github.com/​CCExtractor/​ccextractor/​commit/​150d2e7404843491baaf94b33ca7416279d55bb8|sample commit]] that does all the steps and adds a new option.
  
  
  • public/general/gettingstartedwithourcode.1518828301.txt.gz
  • Last modified: 2018/02/17 00:45
  • by cfsmp3