Apologies if this is the wrong list.<br><br>I am investigating using x264 for live streaming of 3d rendered content. The "best low-latency video streaming platform" blog post was exciting.<br>I have never really worked in video encoding before.<br>
<br>I have built x264 as a windows dll, and integrated it with our software. Capturing frames, converting to YUV, and encoding. The basics work. But, I'm having trouble with timing information. Maybe I just need to learn about container formats? Maybe I should use ffmpeg instead of x264 directly?<br>
<br>Right now, I made the program capture frames and push them through x264. The output NALs I am just writing directly to a file (like the raw output in x264.exe), with the intention of working out live streaming later.<br>
<br>But, I'm having trouble playing the files generated this way.<br>VLC basically won't play them. A window of the correct size flashes up and disappears. I can't figure out how to get log information.<br><br>
MPlayer will play the file, but I don't understand how the time coding stuff works. I have found that if I specify x264_params_t.i_timebase_num/i_timebase_den = 1/15, I get 30fps playback in MPlayer. But, the values I put into x264_picture_t.i_pts seem to be completely ignored. I would have thought that some interaction between timebase and pts would specify when the frame should be displayed. Our app runs at a variable FPS, and when the movie assumes a constant FPS the timing gets messed up.<br>
<br>I feel like I'm basically doing things wrong, and VLC and MPlayer are both responding in different ways. I think VLC is just instantly playing the file because it things I've specified all frames to happen at time 0 or something. And MPlayer is falling back on some default.<br>
<br><br>here are some snippets of my setup: <a href="http://pastebin.com/ycVGWjey">http://pastebin.com/ycVGWjey</a><br><br>