Skip to content

Navigation Menu

Sign in
Sign up

add atom plugin #41

hihipto started this conversation in Ideas
Nov 22, 2021 · 3 comments · 1 reply
Discussion options

Hi I'm kind of newbie to coding etc. but with a video background I've to analyze markers in manifests (hls/dash).

When downloaded these manifests/playlists in atom (as a text file) I always copy paste the markers (Base64 from DASH or Hex from HLS) using https://openidconnectweb.azurewebsites.net/Cue to decode them.

It would be nice to have this great tool as a shortcut or menu item to decode them on the spot in the manifest.
https://github.blog/2016-08-19-building-your-first-atom-plugin/

Not sure if someone did this before or who can help creating this based on the threefive code (it would be wonderful :) )
thanks

You must be logged in to vote

Replies: 3 comments 1 reply

Comment options

I have never thought about it, Do a lot of folks use atom with playlists?
The biggest issue is that I don't have a JavaScript version of threefive,
but I do have a few ideas. Let me think about it.

You must be logged in to vote
0 replies
Comment options

thanks for looking into this!
I'm using atom to check SCTE35 signalisation in manifests but I'm always struggling decoding the message:
An in-text highlight and decode using a menu item would be great!
Here an example of DASH file in atom (HLS is similar but using Hex for the markers):
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" availabilityStartTime="1970-01-01T00:00:00Z" publishTime="2021-11-23T15:00:06Z" timeShiftBufferDepth="PT4H59M58.120S" minimumUpdatePeriod="PT2S" maxSegmentDuration="PT2.006S" minBufferTime="PT6S"> <Period id="16376294518630570" start="PT454897H4M11.863S"><AssetIdentifier schemeIdUri="urn:eidr" value="md:cid:EIDR:10.5240%2f0000-E789-0600-0000-0000-C"/> <AdaptationSet id="1" group="1" bitstreamSwitching="true" segmentAlignment="true" contentType="video" mimeType="video/mp4" maxWidth="1024" maxHeight="576" par="16:9" maxFrameRate="50" startWithSAP="1"> <SegmentTemplate timescale="10000000" media="S!d2ERU1RCLUhFVkMtREFTSC1DTFISAkMAXjjDVP7...8BFgSf/QualityLevels($Bandwidth,ドルLevel_params=$RepresentationID$)/Fragments(video=$Time$)" initialization="S!d2ERU1RCLUhFVkMtREFTSC1DTFISAkMAXjjDVP7...8BFgSf/QualityLevels($Bandwidth,ドルLevel_params=$RepresentationID$)/Fragments(video=Init)" presentationTimeOffset="16376294518630570"> <SegmentTimeline><S t="16376616018630570" d="20000000" r="908"/><S d="3200000"/></SegmentTimeline> </SegmentTemplate><Representation id="dxADMaAlJhIbnw.." bandwidth="2500000" codecs="avc1.4d4020" width="1024" height="576" frameRate="50" sar="1:1" scanType="progressive"/></AdaptationSet> </Period> <Period id="16376634201830570" start="PT454906H30M20.183S"><AssetIdentifier schemeIdUri="urn:eidr" value="md:cid:EIDR:10.5240%2f0000-E789-0600-0000-0000-C"/> <EventStream schemeIdUri="urn:mime:text" timescale="90000"> <Event id="8692">/DBeAAAAAAAAAP/wBQb/M/rqQABIAkZDVUVJAAAh9H//AAAAAAAPMnVybjpiZS5nb3BsYXk6OWVhYmZiMDItOWQ1ZS00ZWNiLTkwMGEtOTlhYWNmNDdmOWVmEAAA01LQBQ==</Event> </EventStream> <AdaptationSet id="1" group="1" bitstreamSwitching="true" segmentAlignment="true" contentType="video" mimeType="video/mp4" maxWidth="1024" maxHeight="576" par="16:9" maxFrameRate="50" startWithSAP="1"> <SegmentTemplate timescale="10000000" media="S!d2ERU1RCLUhFVkMtREFTSC1DTFISAkMAXjjDVP7...8BFgSf/QualityLevels($Bandwidth,ドルLevel_params=$RepresentationID$)/Fragments(video=$Time$)" initialization="S!d2ERU1RCLUhFVkMtREFTSC1DTFISAkMAXjjDVP7...8BFgSf/QualityLevels($Bandwidth,ドルLevel_params=$RepresentationID$)/Fragments(video=Init)" presentationTimeOffset="16376634201830570"> <SegmentTimeline><S t="16376634201830570" d="20000000" r="65"/><S d="18400000"/></SegmentTimeline> </SegmentTemplate><Representation id="dxADMaAlJhIbnw.." bandwidth="2500000" codecs="avc1.4d4020" width="1024" height="576" frameRate="50" sar="1:1" scanType="progressive"/></AdaptationSet> </Period> <Period id="16376635540230570" start="PT454906H32M34.023S"><AssetIdentifier schemeIdUri="urn:smpte:ul:060E2B34.01040101.01200900.00000000" value="urn:adid:MDKD2133650"/> <EventStream schemeIdUri="urn:mime:text" timescale="90000"> <Event id="2133650">/DAsAAAAAAAAAP/wBQb/NLK3YAAWAhRDVUVJACCOkn//AAETiYAAADAAAEl+Tok=</Event> </EventStream> <AdaptationSet id="1" group="1" bitstreamSwitching="true" segmentAlignment="true" contentType="video" mimeType="video/mp4" maxWidth="1024" maxHeight="576" par="16:9" maxFrameRate="50" startWithSAP="1"> <SegmentTemplate timescale="10000000" media="S!d2ERU1RCLUhFVkMtREFTSC1DTFISAkMAXjjDVP7...8BFgSf/QualityLevels($Bandwidth,ドルLevel_params=$RepresentationID$)/Fragments(video=$Time$)" initialization="S!d2ERU1RCLUhFVkMtREFTSC1DTFISAkMAXjjDVP7...8BFgSf/QualityLevels($Bandwidth,ドルLevel_params=$RepresentationID$)/Fragments(video=Init)" presentationTimeOffset="16376635540230570"> <SegmentTimeline><S t="16376635540230570" d="20000000" r="99"/><S d="5600000"/></SegmentTimeline> </SegmentTemplate><Representation id="dxADMaAlJhIbnw.." bandwidth="2500000" codecs="avc1.4d4020" width="1024" height="576" frameRate="50" sar="1:1" scanType="progressive"/></AdaptationSet> </Period> <Period id="16376637545830570" start="PT454906H35M54.583S"><AssetIdentifier schemeIdUri="urn:eidr" value="md:cid:EIDR:10.5240%2f0000-E789-0600-0000-0000-C"/> <EventStream schemeIdUri="urn:mime:text" timescale="90000"> <Event id="19836">/DBeAAAAAAAAAP/wBQb/NcYkwABIAkZDVUVJAABNfH//AAAAAAAPMnVybjpiZS5nb3BsYXk6YTg2NzM0ZjctZDc5Yi00OGM5LTk1ZDEtOThlMGNiNzUwN2MzEAAAePAKVg==</Event> </EventStream> <AdaptationSet id="1" group="1" bitstreamSwitching="true" segmentAlignment="true" contentType="video" mimeType="video/mp4" maxWidth="1024" maxHeight="576" par="16:9" maxFrameRate="50" startWithSAP="1"> <SegmentTemplate timescale="10000000" media="S!d2ERU1RCLUhFVkMtREFTSC1DTFISAkMAXjjDVP7...8BFgSf/QualityLevels($Bandwidth,ドルLevel_params=$RepresentationID$)/Fragments(video=$Time$)" initialization="S!d2ERU1RCLUhFVkMtREFTSC1DTFISAkMAXjjDVP7...8BFgSf/QualityLevels($Bandwidth,ドルLevel_params=$RepresentationID$)/Fragments(video=Init)" presentationTimeOffset="16376637545830570"> <SegmentTimeline><S t="16376637545830570" d="20000000" r="2208"/><S d="7600000"/></SegmentTimeline> </SegmentTemplate><Representation id="dxADMaAlJhIbnw.." bandwidth="2500000" codecs="avc1.4d4020" width="1024" height="576" frameRate="50" sar="1:1" scanType="progressive"/></AdaptationSet> </Period> <Period id="16376681733430570" start="PT454907H49M33.343S"><AssetIdentifier schemeIdUri="urn:smpte:ul:060E2B34.01040101.01200900.00000000" value="urn:adid:MDKD2133664"/> <EventStream schemeIdUri="urn:mime:text" timescale="90000"> <Event id="19836">/DBeAAAAAAAAAP/wBQb/NcYkwABIAkZDVUVJAABNfH//AAAAAAAPMnVybjpiZS5nb3BsYXk6YTg2NzM0ZjctZDc5Yi00OGM5LTk1ZDEtOThlMGNiNzUwN2MzEAAAePAKVg==</Event> <Event id="2133664">/DAsAAAAAAAAAP/wBQb/TXpjEAAWAhRDVUVJACCOoH//AADww/AAACIAAI23ydg=</Event> </EventStream> <AdaptationSet id="1" group="1" bitstreamSwitching="true" segmentAlignment="true" contentType="video" mimeType="video/mp4" maxWidth="1024" maxHeight="576" par="16:9" maxFrameRate="50" startWithSAP="1"> <SegmentTemplate timescale="10000000" media="S!d2ERU1RCLUhFVkMtREFTSC1DTFISAkMAXjjDVP7...8BFgSf/QualityLevels($Bandwidth,ドルLevel_params=$RepresentationID$)/Fragments(video=$Time$)" initialization="S!d2ERU1RCLUhFVkMtREFTSC1DTFISAkMAXjjDVP7...8BFgSf/QualityLevels($Bandwidth,ドルLevel_params=$RepresentationID$)/Fragments(video=Init)" presentationTimeOffset="16376681733430570"> <SegmentTimeline><S t="16376681733430570" d="20000000" r="86"/><S d="12400000"/></SegmentTimeline> </SegmentTemplate><Representation id="dxADMaAlJhIbnw.." bandwidth="2500000" codecs="avc1.4d4020" width="1024" height="576" frameRate="50" sar="1:1" scanType="progressive"/></AdaptationSet> </Period> </MPD>

You must be logged in to vote
0 replies
Comment options

I thought you were talking about atom syndication.
I really appreciate your input man, but I don't see me doing a plugin for the atom text editor.

I use acme from plan9port.
35-acme

You must be logged in to vote
1 reply
Comment options

Look at the examples for hls

I will be adding Dash support soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Ideas
Labels
None yet
2 participants

AltStyle によって変換されたページ (->オリジナル) /