255:
seeking requires a list of seek points in the media file metadata. These points are offsets in the video (both in seconds and bytes) at which a new key frame starts. A web server or a media server which handles the download, must support seek points in query string of requests for downloading data.
119:
This fast start playback is the result of moving the meta data from the end of the digital media file to the front, this move of the meta data gave the media player all the information it required to begin playback as the file was still being downloaded. Prior to that change, the meta data summary
115:
of the associated web browser if the medium was embedded into a web page or is diverted to a storage directory that is set in the preferences of the media player used for playback. The file will stutter or stop playback if the rate of playback exceeds the rate at which the file is downloaded. The
247:
Initially, the file is played from the beginning. A user may wish to point to a part of the file which haven't been downloaded yet. This capability is called seeking and it makes possible to download and start playing any part of the media file. That is often referred to as pseudo-streaming.
75:
was the first visual media to render a progressive visual display as the digital media was downloaded and actually referred to as a progressive download. The distinction between the technical behavior of progressive download as opposed to the common or commercial use of the term progressive
58:
of the digital media file as it is downloaded from a web server. At the point in which a specified amount of data becomes available to the local playback device, the media will begin to play. This specified amount of buffer is embedded into the file by the producer of the content in the
267:, web servers must be capable of handling a special offset parameter. The offset parameter name differs for various servers so it must be specified in player settings.
80:
to describe that behavior was not documented and there is a good deal of question regarding the origin of the term versus the origin of the technical implementation.
604:
120:
was located at the end of a media file and the entire file would need to be downloaded in order for the meta data to be read and the player begin playback.
437:
Two methods are commonly used to deliver media over the web for real-time viewing: progressive download (Fast Start) and real-time streaming.
203:
optimize for faster pseudo-streaming resulting in playing of playbacks without having to wait for the entire file to be arrived or scanned.
39:
when initiated from a computer. The consumer may begin playback of the media before the download is complete. The key difference between
51:
559:
413:
54:
that is capable of progressive download playback relies on meta data located in the header of the file to be intact and a local
270:
Some servers support seeking via additional modules only, they are specified below. Seeking parameter names are written in
534:
144:
235:, from spending relative amount of computation in finding the moov atom hence increasing the playback performance on
610:
132:
111:, however the file is downloaded to a physical drive on the end user's device; the file is typically stored in the
55:
573:
589:
195:
based clients can start playing the video. To optimize for HTTP Pseudo-streaming, it's important to move the
388:
36:
633:
160:
128:
112:
489:
449:
291:
172:
60:
207:
ffmpeg -i sample_input.mp4 -movflags faststart -acodec copy -vcodec copy sample_output.mp4
92:
in 1997, to describe what was commercially referred to as progressive download playback of
506:
393:
364:
140:
136:
124:
108:
40:
354:
346:
471:
43:
and progressive download is in how the digital media data is received and stored by the
156:
81:
565:
63:
settings and is reinforced by additional buffer settings imposed by the media player.
627:
422:
96:
21:
215:
does the optimization by moving the index (moov atom) to the beginning of the file.
252:
167:. These atoms stores information like subtitles, etc. The special atom, called
236:
192:
180:
176:
29:
25:
171:
is responsible for storing information regarding how to play the video like
85:
520:
321:
264:
93:
77:
44:
303:
231:
By doing this optimization, we effectively prevent web servers, like
341:
232:
200:
184:
331:
311:
296:
72:
33:
183:
player. But atoms can appear in any order, so web servers like
260:
147:, along with long loading times when seeking larger videos.
123:
HTTP Pseudo-streaming (or progressive download), similar to
179:
and such which is important to begin playing a video on
116:
file will begin to play again after further download.
227:extracts the video from the input file unaltered.
221:extracts the audio from the input file unaltered.
187:spends some CPU, memory and disk I/O to find the
135:. The disadvantage of HTTP Pseudo-streaming over
103:HTTP progressive download versus streaming media
71:Initially the digital media file type known as
139:is reduced security, since HTTP is easier to
8:
47:device that is accessing the digital media.
490:"Optimizing MP4 Video for faster streaming"
199:to the beginning, so that web servers like
276:
606:Video Streaming Vs Progressive Download
472:"Video Delivery: HTTP Pseudo-Streaming"
405:
259:For other types of media files such as
151:Optimization for HTTP Pseudo-streaming
107:The end user experience is similar to
7:
501:
499:
483:
481:
451:Understanding the MPEG-4 movie atom
14:
591:Flash Video: Progressive Download
561:Streaming vs Progressive Download
575:Web Server vs. Streaming Server
88:media player employed the term
521:"FFmpeg Formats Documentation"
415:QuickTime Streaming Server 4.1
1:
507:"Module ngx_http_mp4_module"
650:
133:adaptive bitrate streaming
536:Pseudo Streaming in Flash
488:Billy Hoffman (2016).
84:in reference to their
32:, typically using the
389:Online video platform
18:progressive download
213:-movflags faststart
129:HTTP Live Streaming
113:temporary directory
20:is the transfer of
292:Apache HTTP Server
380:
379:
177:frames per second
159:files consist of
641:
620:
619:
618:
609:, archived from
600:
599:
598:
585:
584:
583:
569:
564:, archived from
546:
545:
544:
543:
531:
525:
524:
517:
511:
510:
503:
494:
493:
485:
476:
475:
467:
461:
460:
459:
458:
446:
440:
439:
434:
433:
427:
421:, archived from
420:
410:
277:
226:
220:
214:
208:
131:, also supports
649:
648:
644:
643:
642:
640:
639:
638:
624:
623:
616:
614:
603:
596:
594:
588:
581:
579:
572:
558:
555:
550:
549:
541:
539:
533:
532:
528:
519:
518:
514:
505:
504:
497:
487:
486:
479:
469:
468:
464:
456:
454:
448:
447:
443:
431:
429:
425:
418:
412:
411:
407:
402:
394:Video streaming
385:
365:Nimble Streamer
355:http_mp4_module
347:http_flv_module
302:
245:
224:
218:
212:
206:
153:
137:streaming media
125:streaming media
109:streaming media
105:
69:
41:streaming media
12:
11:
5:
647:
645:
637:
636:
626:
625:
622:
621:
601:
586:
570:
554:
553:External links
551:
548:
547:
526:
512:
495:
477:
462:
441:
404:
403:
401:
398:
397:
396:
391:
384:
381:
378:
377:
372:
367:
361:
360:
352:
344:
338:
337:
329:
324:
318:
317:
309:
294:
288:
287:
284:
281:
244:
241:
239:based client.
229:
228:
222:
216:
161:chunks of data
152:
149:
104:
101:
68:
65:
13:
10:
9:
6:
4:
3:
2:
646:
635:
632:
631:
629:
613:on 2015-05-29
612:
608:
607:
602:
593:
592:
587:
577:
576:
571:
568:on 2010-08-18
567:
563:
562:
557:
556:
552:
538:
537:
530:
527:
522:
516:
513:
508:
502:
500:
496:
491:
484:
482:
478:
473:
466:
463:
453:
452:
445:
442:
438:
428:on 2011-07-06
424:
417:
416:
409:
406:
399:
395:
392:
390:
387:
386:
382:
376:
373:
371:
368:
366:
363:
362:
359:
356:
353:
351:
348:
345:
343:
340:
339:
336:
333:
330:
328:
325:
323:
320:
319:
316:
313:
310:
308:
305:
301:
298:
295:
293:
290:
289:
285:
283:Flash seeking
282:
279:
278:
275:
273:
268:
266:
262:
257:
254:
249:
242:
240:
238:
234:
223:
217:
211:
210:
209:
204:
202:
198:
194:
190:
186:
182:
178:
174:
170:
166:
162:
158:
150:
148:
146:
142:
138:
134:
130:
126:
121:
117:
114:
110:
102:
100:
98:
97:digital media
95:
91:
87:
83:
79:
74:
66:
64:
62:
57:
53:
48:
46:
42:
38:
35:
31:
27:
24:files from a
23:
22:digital media
19:
615:, retrieved
611:the original
605:
595:, retrieved
590:
580:, retrieved
574:
566:the original
560:
540:, retrieved
535:
529:
515:
465:
455:, retrieved
450:
444:
436:
430:, retrieved
423:the original
414:
408:
374:
369:
357:
349:
334:
326:
314:
306:
299:
286:MP4 seeking
271:
269:
258:
250:
246:
230:
225:-vcodec copy
219:-acodec copy
205:
196:
188:
168:
164:
154:
143:compared to
122:
118:
106:
89:
70:
52:media player
49:
17:
15:
578:, Microsoft
470:Peter Luk.
253:Flash video
634:Multimedia
617:2015-05-29
597:2010-09-21
582:2010-09-21
542:2015-07-17
457:2015-07-17
432:2010-09-21
400:References
237:HTML video
193:HTML video
181:HTML video
173:dimensions
90:Fast Start
335:starttime
315:starttime
197:moov atom
189:moov atom
169:moov atom
163:, called
99:content.
86:QuickTime
628:Category
383:See also
332:mod_h264
322:lighttpd
312:mod_h264
304:mod_flvx
297:mod_h264
191:so that
78:download
45:end user
37:protocol
243:Seeking
94:encoded
67:History
61:encoder
280:Server
272:italic
56:buffer
30:client
26:server
426:(PDF)
419:(PDF)
375:start
370:start
358:start
350:start
342:Nginx
327:start
307:start
300:start
233:nginx
201:Nginx
185:Nginx
165:atoms
141:sniff
82:Apple
28:to a
251:For
155:The
145:RTMP
73:JPEG
34:HTTP
265:MKV
263:or
261:MP4
157:MP4
127:or
630::
498:^
480:^
435:,
274:.
175:,
50:A
16:A
523:.
509:.
492:.
474:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.