Knowledge (XXG)

Progressive download

Source 📝

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:.

Index

digital media
server
client
HTTP
protocol
streaming media
end user
media player
buffer
encoder
JPEG
download
Apple
QuickTime
encoded
digital media
streaming media
temporary directory
streaming media
HTTP Live Streaming
adaptive bitrate streaming
streaming media
sniff
RTMP
MP4
chunks of data
dimensions
frames per second
HTML video
Nginx

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.