[FFmpeg-devel] Libavcodec consulting

Eran Kornblau eran.kornblau at kaltura.com
Fri Mar 4 11:48:13 CET 2016


> 
> Thanks for that clarification. Unfortunately the http server is a third
> party camera that broadcasts a WiFi hotspot. Therefore we don't really
> have control over the underlying server. However, what I do know is
> that the ffmpeg command I quoted previously seems to be able to
> grab a chunk of a video anywhere in the file without downloading the
> whole thing. So I assume libav must also be capable.
>
The nginx module we develop https://github.com/kaltura/nginx-vod-module 
has the capability to efficiently clip MP4 files - 
1. It downloads the index (moov atom) whether it's in the beginning of the file 
or at its end
2. It generates a new 'clipped' index for the output video
3. It determines the relevant range of the video/audio frames in the original
file, and serves it to the client

In addition, this module has the ability to work in remote mode - it can pull the 
relevant sections of the file using HTTP range requests.
So, easiest solution, assuming you can set up some server (and you don't have 
to provide a client-only solution) would be to set up such a "clipping proxy"
and have the mobile app simply download the clip from the proxy (providing 
the clipping from/to offsets)
If a server solution is not option, you can still use our code as a reference for 
the implementation.

Btw, nginx has a built-in module for clipping MP4 files - 
http://nginx.org/en/docs/http/ngx_http_mp4_module.html 
But our module has several advantages compared to built-in version, incl:
1. Support for remote (HTTP) MP4 files
2. Support for MP4 files in which the index is at the end of the file

Hope this helps

Eran


More information about the ffmpeg-devel mailing list