I’m using ffmpeg to capture playback to .mp4 file. How can I increase speed of downloading playback? Because now it is in real time e.g. 8 minute video takes 8 minutes to download, that’s too long and I want to download it at max available speed. Is it possible or should I look for different solution?
Can you please tell me what API and function you are currently using?
I’m just connecting to camera playback by URL, e.g. rtsp://login:pass@0.0.0.0:554/vod/cemara_id and download specified part with ffmpeg
I’m not using any API, because it has to be done in Java
Or is there better way to save part of playback? I need to show it with HTML5, and converting to mp4 seems to be the easiest way
It looks like the the XProtect Onvif Bridge. Is my guess correct?
Yeah, that’s XProtect Onvif Bridge
Onvif Bridge Server does support playback speed via the standard RTSP mechanisms for this. It is ffmpeg tool that you need to pass the speed parameter to. I am not sure if ffmpeg supports playing stream with speed parameter. VLCs command line does support it via parameter rate
" --rate=<float [-340282346638528859811704183484516925440.000000 .. 340282346638528859811704183484516925440.000000]>
Playback speed
This defines the playback speed (nominal speed is 1.0)."
I don’t wanna change speed of the video itself, but more like to unlock speed of download of playback.
I am afraid ONVIF standard does not support that. You can create MKV or AVI export for selected time via the Mobile Server or calling the MIP SDK directly.
Another option is to request the playback video from Onvif Bridge with speed 4.0. Then you will receive all frames 4 times faster, but then you need to correct the presentation time stamps from your application so that the frames are played correctly.
Regarding my previous answer, Mobile Server uses XML based protocol communication. Thus you can make requests to it via your Java code and create exported video.