[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