- fix for a ffmpeg warning when using URLs like <udp://:1234>
- parameter for pid file.
- parameter for passing options to avformat.
- parameter to set log level.
git-svn-id: https://httpsegmenter.googlecode.com/svn/trunk@20 50c576d4-0ac1-1411-950c-f994e1bbdc23
new parameter: --strict-segment-duration to handle latest commit on "segmenting between keyframes"
Comment:
I disagree with one of the changes contributed by ooyala. I don't think segments should be started on non-keyframe boundaries. So, I rewrote the command line parameter parsing so it would not use positional parameters (fixed position for each parameter), but would allow user to specify parameters in any position using a parameter switch. I've added a switch to satisfy ooyala requirements --strict-segment-duration. If the switch is not specified the segmenter behaves as it always did, starting segments on keyframe boundary.
Also, on February 10th I submitted a patch to ffmpeg libavformat/mpegtsenc.c, it was merged into ffmpeg master branch on February 11th. This patch makes httpsegmenter output compatible with JW Player for adaptive bitrate streaming. Previously the ffmpeg mpeg-ts muxer would emit PAT/PMT packets in a 40 packet period. JW Player can't decode segments where a keyframe is not preceded with PAT/PMT packets. I modified ffmpeg mpeg-ts muxer to emit PAT/PMT for every keyframe (except when the video is AVC-Intra where every frame is a keyframe).
git-svn-id: https://httpsegmenter.googlecode.com/svn/trunk@19 50c576d4-0ac1-1411-950c-f994e1bbdc23
- fixing m3u8 generation for non-live streams (needs review: LIVE streaming still working?)
- fixing a bunch of deprecation warnings from libavformat and friends
- segmenting between keyframes like Apple's mediafilesegmenter does, to get more accurate segment sizes (resulting in better seek bar behaviour on iOS devices)
git-svn-id: https://httpsegmenter.googlecode.com/svn/trunk@17 50c576d4-0ac1-1411-950c-f994e1bbdc23
scassidy [at] llnw.com: it won't compile for ffmpeg 0.8.1 or newer. This trivial patch fixes that
git-svn-id: https://httpsegmenter.googlecode.com/svn/trunk@16 50c576d4-0ac1-1411-950c-f994e1bbdc23
-fixes a bug where some times it wouldn't start a new segment if the current segment duration exceeded or fell short of the target duration by more than half a second
-doesn't restrict segmenting to mpeg-ts source files only, it can handle mp4/mpg input files too (m4v/mpg is what I've tested, others may work too)
git-svn-id: https://httpsegmenter.googlecode.com/svn/trunk@13 50c576d4-0ac1-1411-950c-f994e1bbdc23
Reordering packets is dangerous, so instead implemented stream re-lacing (does not change order of packets in individual streams)
git-svn-id: https://httpsegmenter.googlecode.com/svn/trunk@10 50c576d4-0ac1-1411-950c-f994e1bbdc23
-added a sliding window packet queue of 50 packets, sorted in ascending order according to the presentation time stamp.
This ensures that audio/video packets that should be together do not get stuck into separate segments
-compile with "-std=c99"
git-svn-id: https://httpsegmenter.googlecode.com/svn/trunk@8 50c576d4-0ac1-1411-950c-f994e1bbdc23