[FFmpeg-user] Continuos stream of videos using ffmpeg

Keyran keyrans at gmail.com
Fri Aug 31 14:49:25 CEST 2012


Thanks Stefano,

 Is it actually possible to play segments from different videos one after
the another. Because the solution works in some cases, i know for sure
ffmpeg supports this solution.

Also, can you give an example of how i can remux a segment, like A02.ts ?


On Fri, Aug 31, 2012 at 5:41 PM, Stefano Sabatini <stefasab at gmail.com>wrote:

> On date Thursday 2012-08-30 21:50:54 +0530, Kiran Kumar encoded:
> > Hi,
> >
> >  We are building a solution where we want all the videos to be played one
> > after the another like a continuos stream. We are trying to build the
> > solution using ffmpeg for encoding/segmenting and apache tomcat server.
> The
> > way we are doing this is
> >
> >    1. Each video is individually encoded to h264 and segmented in 10 sec
> >    interval. This generates playlist .m3u8 for each video.
>
> >    2. Whenever a set of videos (based on some criterion) needs to be
> >    streamed, we then manually create a playlist by concatenating each
> playlist
> >    file (while keeping the m3u8 format intact)
>
> This step looks error prone. Keep in mind that files in segments are
> meant to be played *sequentially*, since each segment will keep the
> original timestamps.
>
> >
> > For example,
> > video A is split as A01.ts and A02.ts.
> > video B is split as B01.ts.
> >
> > What we are trying to do is create one single playlist like the
> following.
> >
> > #EXTM3U
> > #EXT-X-VERSION:4
> > #EXTINF:10.285189,
> > A01.ts
> > #EXTINF:9.285189,
> > A02.ts
> > #EXTINF:8.000189,
> > B01.ts
> > #EXT-X-TARGETDURATION:25
> > #EXT-X-ENDLIST
>
> This really depends on how the player deals with timestamps.
> So you have A01.ts starting with timestamps in range 0-10, A02.ts with
> timestamps in the range 10-19, B01.ts in the range 0-8. The player may
> get confused when it comes to reading B01.ts.
>
> And I'm considering to extend the segment to have an option which
> reset timestamps to 0. In general if you want to fix timestamps to
> have them sequential you will have to remux the segments (and split
> them again).
>
> > The problem that we are facing is that while this works in some cases, it
> > fails after playing 2 to 3 videos. If only one video was played, then we
> > would know that the solution is not possible. However since we know
> > at-least 2 videos play sometimes, we know we are missing something here.
> > Any help will be appreciated.
> >
> > We are usng the following command to encode/segment the videos.
> >
> > ffmpeg -v 9 -loglevel 99 -re -i video.MOV -an \
> > -c:v libx264 -b:v 128k \
> > -acodec libmp3lame -ar 48000 -ab 64k -vcodec libx264 -b 96k -flags +loop
> > -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -subq 5 -trellis 1
> > -refs 1 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor
> > 0.71 -bt 200k -maxrate 96k -bufsize 96k -rc_eq 'blurCplx^(1-qComp)'
> -qcomp
> > 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 320:240 -g 30 \
> > -flags -global_header -map 0 -f segment -segment_time 4 \
> > -segment_list test.m3u8 -segment_format mpegts stream%05d.ts
> --
> ffmpeg-user random tip #26
> RTFM.
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>


More information about the ffmpeg-user mailing list