-
Notifications
You must be signed in to change notification settings - Fork 7
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
CCSMB-14: Stereo television #29
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This currently feels like a very rough sketch of a standard. I however do like the idea of it.
*Last updated: 2024-03-30* | ||
|
||
## Server: | ||
Videos should either be in BIMG but other formats do not break compliance as long as they are marked in "type" to avoid issues with clients and there is an open-source encoder and decoder |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is too loose to even be considered a standard
Standards/CCSMB-14.md
Outdated
|
||
an example of this would be [PBB](https://raw.githubusercontent.com/craftytv/pigutv/main/pbbconverter.py) which is supported in the example server | ||
|
||
Broadcasts in BIMG should only use the default CraftOS pallete |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this limit in place? If there's a good reason, sure, but this seems like an unneeded limitation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Issues with 20fps video mainly
it works if you dont set the pallete though
|
||
Broadcasts in BIMG should only use the default CraftOS pallete | ||
|
||
Each frame of video should have enough audio to last the entire frame and no more |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And how about it being shorter than the frame, is that compliant. Also, "should" shouldnt be used here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And how about it being shorter than the frame, is that compliant.
No, i forgot to mention that
|
||
Each packet sent from the server most have "protocol" set to "stereovideo" | ||
|
||
Each packet should have metadata for the TV broadcast |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What are the available metadata fields and its types?
Standards/CCSMB-14.md
Outdated
|
||
Each packet should have metadata for the TV broadcast | ||
|
||
An optional feature that packets can have is subtitles |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How would this be implemented?
Standards/CCSMB-14.md
Outdated
|
||
Clients should be able to play stereo audio in-sync with the frames | ||
|
||
Clients should be able to display subtitles |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be "MAY" and there should be a format noted above
|
||
Displaying metadata attached to broadcasts is optional | ||
|
||
If the client supports multiple palletes, the client should be able to switch back to default pallete before changing broadcasts |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wait so why is the single pallete limitation there then?
{ | ||
protocol = "stereovideo", -- Always stereo video | ||
type = broadcastType, -- Image format (BIMG, etc.) SHOULD BE ALL LOWERCASE | ||
audio = { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we want to create "similar" protocols, consider looking at CCSMB-5's way of implementing channels,
audio[1] would be left,
audio[2] would be right,
audio[3-8] would be self assigned
left = leftbuffer, -- Decoded PCM, left channel | ||
right = rightbuffer -- Decoded PCM, right channel | ||
}, | ||
video = currentFrame, -- Either a frame of PBB or BIMG |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should there be a default size or set of sizes? If so, which sizes.
right = rightbuffer -- Decoded PCM, right channel | ||
}, | ||
video = currentFrame, -- Either a frame of PBB or BIMG | ||
subtitle = subtitle, --Subtitles is avaliable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about framerate, how fast should the video be played back? Should it be inferred from the size of the frame data? If so, which way?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Framerate is determined by how fast the packets are received
Ive tested with 20fps and 1fps
My abandoned TV format
submitting it because i dont want it to go to waste as its cool