VideoHelp Forum
+ Reply to Thread
Results 1 to 18 of 18
Thread
  1. Hello I'm trying to do video encoding of prores with C++ programe, I've come into some problems with the process of video encoding, as in my codec, I've been able to get the desired bitrate by changing the profile under AVcodeccontext to achieve proxy, lt, 422, and HQ.But it cost about 60 ms to encode one frame of 422 or HQ currently. I need the efficiency of the encoding be improved and at the same time keep the current birate(120mbs for Prores422 and 180mbs for Prores 422 (HQ)).


    Any help is appreciated, and particular codec or relating material are especially welcomed.
    Last edited by zhangjie; 15th Jun 2015 at 03:29.
    Quote Quote  
  2. What would you improve? The footage with professional camera can be record to ProRes, DNxHD / DNxHR, RAW (AJA / BlackMagic / Avid), Cineform or DNG codec. You can also via the recorder immediately create HEVC i444 16bit without the color correction. Question camera and your skills.
    Quote Quote  
  3. Originally Posted by Jamaika View Post
    What would you improve? The footage with professional camera can be record to ProRes, DNxHD / DNxHR, RAW (AJA / BlackMagic / Avid), Cineform or DNG codec. You can also via the recorder immediately create HEVC i444 16bit without the color correction. Question camera and your skills.
    Thanks for your attention, for I'm now tying to get a ProRes video through programming without hardware encoder. The process is similar with some tool like ffmpeg. The problem is that this programme is working too slow(it takes 60ms to encode one frame for the two format: ProRes 422 and HQ), my main concern is improving the speed of my codec.

    Any suggestions or recipes?
    Quote Quote  
  4. Originally Posted by zhangjie View Post
    The problem is that this programme is working too slow(it takes 60ms to encode one frame for the two format: ProRes 422 and HQ), my main concern is improving the speed of my codec.
    Frankly, I don't know the recording velocity. Advertising is that it creates a propeller.
    http://www.cinemartin.com/next/
    RAW codecs fall off. There are slower and cann't be imported into NLE editors (*.raw,*.yuv).
    Cineform had very good speed, but a surcharge.
    I do not know what he represents Avid DNxHR. It is a novelty on the market.
    A certain speak only Adobe DNG format. I do not know what is behind this statement.
    Last edited by Jamaika; 16th Jun 2015 at 01:05.
    Quote Quote  
  5. What kind of hardware ? What resolutions ? What is the input format? 60ms/frame is like 17-18 FPS. ffmpeg prores is currently single threaded, but you should be able to achieve 40-60 FPS with ffmpeg prores on a decent computer for 1920x1080.
    Quote Quote  
  6. Originally Posted by poisondeathray View Post
    What kind of hardware ? What resolutions ? What is the input format? 60ms/frame is like 17-18 FPS. ffmpeg prores is currently single threaded, but you should be able to achieve 40-60 FPS with ffmpeg prores on a decent computer for 1920x1080.
    It works on a PC which is win7 64bit, and 16-cores CPU, 16G storage. I didn't use ffmpeg command lines. I directly programed calling the .dll codec, then I configured the parameter profile in the AVcodeccontext to achieve proxy, lt, 422, and HQ, but I'm not able to achieve 40-60 FPS, what should I configure besides?

    Thanks for your tips!
    Quote Quote  
  7. Originally Posted by poisondeathray View Post
    What kind of hardware ? What resolutions ? What is the input format? 60ms/frame is like 17-18 FPS. ffmpeg prores is currently single threaded, but you should be able to achieve 40-60 FPS with ffmpeg prores on a decent computer for 1920x1080.
    I called the DLL of ffmpeg in my PC, its operating on Windows7 64bit, with expended RAM of 16GB. The video resolutions is 1920x1080 and for the codec, please refer to the website: http://git.videolan.org/?p=ffmpeg.gi...2e336b;hb=HEAD

    Any thing special I need to do to get Prores video at speed at 40-60 FPS?
    Thank you!
    Quote Quote  
  8. Did you try it from ffmpeg command line directly ? If you get faster FPS, then it might be skipping some CPU optimization or instruction sets missing in your version. If you get similar FPS to what you are seeing now, you might have to look at other issues to debug, maybe there are other hardware issues, low clockspeed, throttling, maybe decoding issue. That git link is down

    Originally Posted by zhangjie View Post
    The video resolutions is 1920x1080 and for the codec, please refer to the website: http://git.videolan.org/?p=ffmpeg.gi...2e336b;hb=HEAD
    Quote Quote  
  9. Originally Posted by poisondeathray View Post
    Did you try it from ffmpeg command line directly ? If you get faster FPS, then it might be skipping some CPU optimization or instruction sets missing in your version. If you get similar FPS to what you are seeing now, you might have to look at other issues to debug, maybe there are other hardware issues, low clockspeed, throttling, maybe decoding issue. That git link is down

    Originally Posted by zhangjie View Post
    The video resolutions is 1920x1080 and for the codec, please refer to the website: http://git.videolan.org/?p=ffmpeg.gi...2e336b;hb=HEAD
    I do not have the ffmpeg software, I only find some codec on the internet, so I didn't try command lines, I only used the source code, and called its DLL. is it because of hardware? Should I configure other parameters except profile in my programme when using the ffmpeg codec?
    Quote Quote  
  10. Are you building your program multithreaded?
    Quote Quote  
  11. Download a compiled ffmpeg binary and test it. Just use default settings. You need a rough idea of how it should be performing on your current hardware

    You can find some windows binaries here
    http://ffmpeg.zeranoe.com/
    Quote Quote  
  12. Originally Posted by jagabo View Post
    Are you building your program multithreaded?
    YES. I have made it Multithreaded;
    Quote Quote  
  13. Originally Posted by poisondeathray View Post
    Download a compiled ffmpeg binary and test it. Just use default settings. You need a rough idea of how it should be performing on your current hardware

    You can find some windows binaries here
    http://ffmpeg.zeranoe.com/
    Yeah, thank you for your advice! I would try.
    Quote Quote  
  14. Originally Posted by zhangjie View Post
    YES. I have made it Multithreaded;
    According to poisondeathray ffmpeg's ProRes encoder is single threaded. But the program obviously runs much faster with multiple threads (on my quad core i5 2500K with 1080p video I get about 10 fps with one thread, 30 fps with four threads). That may mean the encoder itself is single threaded but thread safe, and ffmpeg is creating separate simultaneous threads, sending individual frames to each thread, then reassembling the results for output to the MOV file.
    Quote Quote  
  15. Code:
    Encoders:
     V..... = Video
     A..... = Audio
     S..... = Subtitle
     .F.... = Frame-level multithreading
     ..S... = Slice-level multithreading
     ...X.. = Codec is experimental
     ....B. = Supports draw_horiz_band
     .....D = Supports direct rendering method 1
     
    
     VF.... prores               Apple ProRes
     VF.... prores_aw            Apple ProRes (codec prores)
     V.S... prores_ks            Apple ProRes (iCodec Pro) (codec prores)
    -> depending on the prores encoder choice in ffmpeg, Frame-level multithreading is supported for quite some time,...
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  16. Thank you for your attention! I tried it multithreaded, and tried to adapt another parameter--ProresContext this time, but the output is that when the picture does not move fast, it can work smoothly, and do not lose frames, while it starts to lose frame when the picture moves faster. So I still need to work on it. Any advice to decrease the CPU occupication?
    Quote Quote  
  17. Originally Posted by Jamaika View Post
    Originally Posted by zhangjie View Post
    The problem is that this programme is working too slow(it takes 60ms to encode one frame for the two format: ProRes 422 and HQ), my main concern is improving the speed of my codec.
    Frankly, I don't know the recording velocity. Advertising is that it creates a propeller.
    http://www.cinemartin.com/next/
    RAW codecs fall off. There are slower and cann't be imported into NLE editors (*.raw,*.yuv).
    Cineform had very good speed, but a surcharge.
    I do not know what he represents Avid DNxHR. It is a novelty on the market.
    A certain speak only Adobe DNG format. I do not know what is behind this statement.
    Thank you very much though!
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!