Answers.Body: <p>Have you looked at <a href="https://obsproject.com/" rel="nofollow noreferrer">OBS Studio</a>?  It sounds like it can do all four of your steps for you, and it's free and open-source too.  If not, then it could also just do step 1, depending on what your original video source is.  OBS can use these sources:</p>
  
  <ul>
  <li>Webpages</li>
  <li>Displays/monitors</li>
  <li>Video games</li>
  <li>Local files
  
  <ul>
  <li>Text files</li>
  </ul></li>
  <li>Webcams &amp; video capture devices</li>
  <li>Windows on your computer</li>
  <li>A few others, like audio, plain colors, images, and slide shows</li>
  </ul>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-13T08:17:31.147Z
Answers.Text: Thank you for advice, worth checking. Now how would I produce the initial video sequence for the program to consume? Just continuous plain yuv frames?
Answers.UserDisplayName: Alexey Orekhov
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-14T08:05:06.007Z
Answers.Text: I'm not really sure what your trying to make a video from (a camera or something rendered), but this should help you: https://github.com/jp9000/obs-studio/wiki/Sources-Guide
Answers.UserDisplayName: PunctualEmoticon
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-12T23:58:45.850Z
Answers.LastActivityDate: 2017-07-12T23:58:45.850Z
Answers.UserDisplayName: PunctualEmoticon
Body: <p>The intended worklflow is following:</p>
  
  <ol>
  <li>my program produces 1080p frames (possibly not constantly if picture isn't
  changing) 30 or 60 fps</li>
  <li>some external program captures them locally</li>
  <li>overlays on some other video</li>
  <li>saves locally (infinite playable video) or sends to youtube-like service real-time</li>
  </ol>
  
  <p>I've tried to find some ways for the 1st step to save video real-time in small chunks like in web DASH protocol, but now I think just frameserving is better for exchanging between 2 programs on one computer.</p>
  
  <p>I'm thinking of using ffmpeg's libav api in my program. Seems real after trying.</p>
  
  <p>Some standard way for saving encoded infinite video stream (so that one could simultaneously play or transmit it) is still needed in the 4th step, though. See <a href="https://video.stackexchange.com/questions/21897/how-to-save-playable-infinite-video">this question</a>.</p>
  
  <p>2nd and 3rd steps are likely solvable with ffmpeg.</p>
  
  <p>So for the 1st step is there any standard/widely supported (by recieving processing software) format for frameserving?
  Thanks for any help!</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-07-11T17:51:56.483Z
Comments.Text: What are you actually trying to accomplish?  This sounds a lot like a programming question that would fit better on StackOverflow than a Video Production question.
Comments.UserDisplayName: AJ Henderson
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-07-11T18:53:53.253Z
Comments.Text: @AJHenderson this whole task requires programming indeed, but here I'm looking for some practices or formats that would allow to use existing software for processing output of my prog
Comments.UserDisplayName: Alexey Orekhov
Tags: <ffmpeg><intermediate>
Title: Is there standard protocol or way for frameserving?
UserDisplayName: Alexey Orekhov
ThreadText: # Is there standard protocol or way for frameserving?
  
  (Asked by: username_0 on 2017-07-11)
  
  The intended worklflow is following:
  
  1. my program produces 1080p frames (possibly not constantly if picture isn't
     changing) 30 or 60 fps
  2. some external program captures them locally
  3. overlays on some other video
  4. saves locally (infinite playable video) or sends to youtube-like service real-time
  
  I've tried to find some ways for the 1st step to save video real-time in small chunks like in web DASH protocol, but now I think just frameserving is better for exchanging between 2 programs on one computer.
  
  I'm thinking of using ffmpeg's libav api in my program. Seems real after trying.
  
  Some standard way for saving encoded infinite video stream (so that one could simultaneously play or transmit it) is still needed in the 4th step, though. See [this question](https://video.stackexchange.com/questions/21897/how-to-save-playable-infinite-video).
  
  2nd and 3rd steps are likely solvable with ffmpeg.
  
  So for the 1st step is there any standard/widely supported (by recieving processing software) format for frameserving?
  Thanks for any help!
  
  **Tags:** ffmpeg, intermediate
  
  > **Comments:**
  > **username_1**: What are you actually trying to accomplish?  This sounds a lot like a programming question that would fit better on StackOverflow than a Video Production question.  
  > **username_0**: @username_1 this whole task requires programming indeed, but here I'm looking for some practices or formats that would allow to use existing software for processing output of my prog  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2017-07-12. Score: 1
  
  Have you looked at [OBS Studio](https://obsproject.com/)? It sounds like it can do all four of your steps for you, and it's free and open-source too. If not, then it could also just do step 1, depending on what your original video source is. OBS can use these sources:
  
  * Webpages
  * Displays/monitors
  * Video games
  * Local files
    + Text files
  * Webcams & video capture devices
  * Windows on your computer
  * A few others, like audio, plain colors, images, and slide shows
  
  > **Comments:**
  > **username_0**: Thank you for advice, worth checking. Now how would I produce the initial video sequence for the program to consume? Just continuous plain yuv frames?  
  > **username_2**: I'm not really sure what your trying to make a video from (a camera or something rendered), but this should help you: https://github.com/jp9000/obs-studio/wiki/Sources-Guide  
  
  ---
  
  