{"action":"created","issue":{"url":"https://api.github.com/repos/google/shaka-player/issues/931","repository_url":"https://api.github.com/repos/google/shaka-player","labels_url":"https://api.github.com/repos/google/shaka-player/issues/931/labels{/name}","comments_url":"https://api.github.com/repos/google/shaka-player/issues/931/comments","events_url":"https://api.github.com/repos/google/shaka-player/issues/931/events","html_url":"https://github.com/google/shaka-player/issues/931","id":243625332,"number":931,"title":"Playback partial periods","user":{"login":"cmolinaAlicante","id":25242536,"avatar_url":"https://avatars0.githubusercontent.com/u/25242536?v=4","gravatar_id":"","url":"https://api.github.com/users/cmolinaAlicante","html_url":"https://github.com/cmolinaAlicante","followers_url":"https://api.github.com/users/cmolinaAlicante/followers","following_url":"https://api.github.com/users/cmolinaAlicante/following{/other_user}","gists_url":"https://api.github.com/users/cmolinaAlicante/gists{/gist_id}","starred_url":"https://api.github.com/users/cmolinaAlicante/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cmolinaAlicante/subscriptions","organizations_url":"https://api.github.com/users/cmolinaAlicante/orgs","repos_url":"https://api.github.com/users/cmolinaAlicante/repos","events_url":"https://api.github.com/users/cmolinaAlicante/events{/privacy}","received_events_url":"https://api.github.com/users/cmolinaAlicante/received_events","type":"User","site_admin":false},"labels":[{"id":159144981,"url":"https://api.github.com/repos/google/shaka-player/labels/question","name":"question","color":"cc317c","default":true}],"state":"open","locked":false,"assignee":{"login":"joeyparrish","id":6843156,"avatar_url":"https://avatars0.githubusercontent.com/u/6843156?v=4","gravatar_id":"","url":"https://api.github.com/users/joeyparrish","html_url":"https://github.com/joeyparrish","followers_url":"https://api.github.com/users/joeyparrish/followers","following_url":"https://api.github.com/users/joeyparrish/following{/other_user}","gists_url":"https://api.github.com/users/joeyparrish/gists{/gist_id}","starred_url":"https://api.github.com/users/joeyparrish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joeyparrish/subscriptions","organizations_url":"https://api.github.com/users/joeyparrish/orgs","repos_url":"https://api.github.com/users/joeyparrish/repos","events_url":"https://api.github.com/users/joeyparrish/events{/privacy}","received_events_url":"https://api.github.com/users/joeyparrish/received_events","type":"User","site_admin":false},"assignees":[{"login":"joeyparrish","id":6843156,"avatar_url":"https://avatars0.githubusercontent.com/u/6843156?v=4","gravatar_id":"","url":"https://api.github.com/users/joeyparrish","html_url":"https://github.com/joeyparrish","followers_url":"https://api.github.com/users/joeyparrish/followers","following_url":"https://api.github.com/users/joeyparrish/following{/other_user}","gists_url":"https://api.github.com/users/joeyparrish/gists{/gist_id}","starred_url":"https://api.github.com/users/joeyparrish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joeyparrish/subscriptions","organizations_url":"https://api.github.com/users/joeyparrish/orgs","repos_url":"https://api.github.com/users/joeyparrish/repos","events_url":"https://api.github.com/users/joeyparrish/events{/privacy}","received_events_url":"https://api.github.com/users/joeyparrish/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2017-07-18T07:34:32Z","updated_at":"2017-07-25T13:07:02Z","closed_at":null,"body":"Hello,\r\nI am trying to play a part of a period (not the whole period), but I am not getting the expected results.\r\n\r\nFor example,\r\nIf I have the following MPD.\r\n\r\n```\r\n<?xml version=\"1.0\"?>\r\n<!-- MPD file Generated with GPAC version 0.7.2-DEV-rev192-gd1ee384-master  at 2017-07-17T12:08:27.780Z\r\nMP4Box -dash 2000 -rap -frag-rap -segment-timeline -segment-name seg_$RepresentationID$_n$Number$_b$Bandwidth$ -out test.mpd test_avc.mp4\r\n-->\r\n<MPD xmlns=\"urn:mpeg:dash:schema:mpd:2011\" minBufferTime=\"PT1.500S\" type=\"static\" mediaPresentationDuration=\"PT0H5M0.000S\" maxSegmentDuration=\"PT0H0M1.680S\" profiles=\"urn:mpeg:dash:profile:full:2011\">\r\n <ProgramInformation moreInformationURL=\"http://gpac.io\">\r\n  <Title>test.mpd generated by GPAC</Title>\r\n </ProgramInformation>\r\n\r\n <Period duration=\"PT0H5M0.000S\">\r\n  <AdaptationSet segmentAlignment=\"true\" maxWidth=\"640\" maxHeight=\"480\" maxFrameRate=\"25\" par=\"4:3\" lang=\"eng\">\r\n   <SegmentTemplate media=\"seg_$RepresentationID$_n$Number$_b$Bandwidth$.m4s\" timescale=\"50000\" startNumber=\"1\" initialization=\"seg_$RepresentationID$_n_b$Bandwidth$.mp4\">\r\n    <SegmentTimeline>\r\n     <S t=\"0\" d=\"68000\"/>\r\n     <S d=\"66000\" r=\"224\"/>\r\n     <S d=\"84000\"/>\r\n    </SegmentTimeline>\r\n   </SegmentTemplate>\r\n   <Representation id=\"1\" mimeType=\"video/mp4\" codecs=\"avc3.64001E\" width=\"640\" height=\"480\" frameRate=\"25\" sar=\"1:1\" startWithSAP=\"1\" bandwidth=\"339830\">\r\n   </Representation>\r\n  </AdaptationSet>\r\n </Period>\r\n</MPD>\r\n```\r\n\r\nI want, for example, to reproduce from the second 4 to the 10. Could I use the following MPD?\r\n\r\n```\r\n<?xml version=\"1.0\"?>\r\n<MPD xmlns=\"urn:mpeg:dash:schema:mpd:2011\" minBufferTime=\"PT1.500S\" type=\"static\" mediaPresentationDuration=\"PT0H0M6.000S\" maxSegmentDuration=\"PT0H0M1.680S\" profiles=\"urn:mpeg:dash:profile:full:2011\">\r\n <ProgramInformation moreInformationURL=\"http://gpac.io\">\r\n  <Title>test.mpd generated by GPAC</Title>\r\n </ProgramInformation>\r\n\r\n <Period duration=\"PT0H0M15.000S\" id=\"0\" start=\"PT0.0S\">\r\n <BaseURL>https://testingserver2/dashmedia/segmentTimeline/pal/2s_representation/test.mpd</BaseURL>\r\n  <AdaptationSet segmentAlignment=\"true\" maxWidth=\"640\" maxHeight=\"480\" maxFrameRate=\"25\" par=\"4:3\" lang=\"eng\" startWithSAP=\"1\" subsegmentAlignment=\"true\" subsegmentStartsWithSAP=\"1\">\r\n   <SegmentTemplate media=\"seg_$RepresentationID$_n$Number$_b$Bandwidth$.m4s\" timescale=\"50000\" startNumber=\"4\" initialization=\"seg_$RepresentationID$_n_b$Bandwidth$.mp4\" presentationTimeOffset=\"200000\"  availabilityTimeOffset=\"0\">\r\n    <SegmentTimeline>\r\n\t <S t=\"200000\" d=\"64000\"/><!-- Inside 4th Segment -->\r\n         <S d=\"66000\" r=\"3\"/>\r\n         <S d=\"38000\"/> <!-- second 10 -->\r\n    </SegmentTimeline>\r\n   </SegmentTemplate>\r\n   <Representation id=\"1\" mimeType=\"video/mp4\" codecs=\"avc3.64001E\" width=\"640\" height=\"480\" frameRate=\"25\" sar=\"1:1\" startWithSAP=\"1\" bandwidth=\"339830\" presentationTimeOffset=\"0\">\r\n   </Representation>\r\n  </AdaptationSet>\r\n </Period>\r\n</MPD>\r\n```\r\n\r\n\r\nReading ISO/IEC 23009-1\r\n@t -> The value of this attribute must be equal to or greater than the sum of the previous S elementary presentation time and the sum of the contiguous Segment durations.\r\n\r\nThis example does not work because the 4th segment does not start in 200000 but in 198000.\r\n\r\nIs there any way to get this? It does not matter if you use SegmentTimeline or something else, I just need to know how to play a specific part of a video (with frame accuracy).\r\n\r\n\r\nThank you and congratulations for your great work!"},"comment":{"url":"https://api.github.com/repos/google/shaka-player/issues/comments/317731312","html_url":"https://github.com/google/shaka-player/issues/931#issuecomment-317731312","issue_url":"https://api.github.com/repos/google/shaka-player/issues/931","id":317731312,"user":{"login":"joeyparrish","id":6843156,"avatar_url":"https://avatars0.githubusercontent.com/u/6843156?v=4","gravatar_id":"","url":"https://api.github.com/users/joeyparrish","html_url":"https://github.com/joeyparrish","followers_url":"https://api.github.com/users/joeyparrish/followers","following_url":"https://api.github.com/users/joeyparrish/following{/other_user}","gists_url":"https://api.github.com/users/joeyparrish/gists{/gist_id}","starred_url":"https://api.github.com/users/joeyparrish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joeyparrish/subscriptions","organizations_url":"https://api.github.com/users/joeyparrish/orgs","repos_url":"https://api.github.com/users/joeyparrish/repos","events_url":"https://api.github.com/users/joeyparrish/events{/privacy}","received_events_url":"https://api.github.com/users/joeyparrish/received_events","type":"User","site_admin":false},"created_at":"2017-07-25T13:07:02Z","updated_at":"2017-07-25T13:07:02Z","body":"Hi @cmolinaAlicante,\r\n\r\nInstead of manipulating the manifest, you should use the `playRangeStart` and `playRangeEnd` configuration to limit the playback range.  These settings are not in v2.1.x releases, but are available in the `master` branch and will be released with v2.2.0.\r\n\r\nDoes this help?"}}
{"actor":{"display_login":"joeyparrish"}}