{"id":13566762,"url":"https://github.com/lebougui/hls-id3tags","last_synced_at":"2025-04-04T00:32:10.617Z","repository":{"id":218023354,"uuid":"93737539","full_name":"lebougui/hls-id3tags","owner":"lebougui","description":"These tools allow to add timed metadata into a transport stream. Metadata are inserted through ID3v2 tags.","archived":false,"fork":false,"pushed_at":"2017-06-08T10:43:16.000Z","size":26,"stargazers_count":11,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-04T21:37:07.998Z","etag":null,"topics":["hls","id3v2","metadata","perl","php"],"latest_commit_sha":null,"homepage":null,"language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lebougui.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-06-08T10:36:15.000Z","updated_at":"2024-10-08T08:33:28.000Z","dependencies_parsed_at":"2024-01-19T10:44:19.872Z","dependency_job_id":null,"html_url":"https://github.com/lebougui/hls-id3tags","commit_stats":null,"previous_names":["lebougui/hls-id3tags"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lebougui%2Fhls-id3tags","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lebougui%2Fhls-id3tags/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lebougui%2Fhls-id3tags/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lebougui%2Fhls-id3tags/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lebougui","download_url":"https://codeload.github.com/lebougui/hls-id3tags/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247103290,"owners_count":20884023,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hls","id3v2","metadata","perl","php"],"created_at":"2024-08-01T13:02:16.189Z","updated_at":"2025-04-04T00:32:10.291Z","avatar_url":"https://github.com/lebougui.png","language":"Perl","funding_links":[],"categories":["Perl","Media Tools"],"sub_categories":["Metadata Extraction \u0026 Management"],"readme":"## MPEG2 TS Timed metadata \n\nThis tools allows to add timed metadata into transport stream.\nMetadata are inserted through ID3v2 tags.\n\nTools based on https://github.com/dusterio/hlsinjector project and MPEG::ID3v2Tag perl package.\n\n## How To\n\nTo insert timed ID3v2 tags use the mpeg_id3v2_injector.sh scrit.\nScript will insert Id3v2 TXXX and/or TIT2 tags into the given TS.\n\n```\n\n# ./mpeg_id3v2_injector.sh -h                                                         \nUsage : ./mpeg_id3v2_injector.sh -s \u003ctransport stream name\u003e -i \u003cID3v2 file:time\u003e -p \u003cproviderID\u003e -a \u003cassetID\u003e -t \u003ctime\u003e -d\n\nMPEG2-TS ID3 timed metadata injector.\n\nOPTIONS :\n        -h              displays this help\n        -s              transport stream name\n        -i              ID3v2 filename and time to insert. Several entry can be given separator is \",\".\n        -p              provider ID\n        -a              asset ID\n        -t              time in second\n        -d              to enable debug mode\n\n        Examples : \n        #To insert title with an existing ID3 file\n        ./mpeg_id3v2_injector.sh -s test.ts            -i test.id3:0 \n        #To insert several titles with an existing ID3 files\n        ./mpeg_id3v2_injector.sh -s test.ts            -i test.id3:0,test2.id3:10 \n        #To insert several title without an ID3 file.\n        ./mpeg_id3v2_injector.sh -s test.ts            -p test.com            -a ad0\n           -t 0\n\nVersion       : ./mpeg_id3v2_injector.sh 1.0 (2016/06/10) \nMaintainer(s) : Lebougui \n\n```\n\nGiven a transportream fileSequence0.ts to add TXXX ID3v2 tag with string \"test.com/ad0\" use this command :\n\n```\n\n# ./mpeg_id3v2_injector.sh -p test.com -a ad0 -t 0 -s fileSequence0.ts -d  \n00000000  49 44 33 03 00 40 00 00  00 24 00 00 00 06 00 01  |ID3..@...$......|\n00000010  00 00 00 00 54 58 58 58  00 00 00 0f 00 00 00 00  |....TXXX........|\n00000020  74 65 73 74 2e 63 6f 6d  2f 61 64 30 00 00 00 00  |test.com/ad0.|\n0000002e\n** Imported 1 metadata tags\nInserting ID3 frame after frame 5 (len=188)\nParsed 6440 MPEG TS frames with 0 errors\nTotal of 1 programs and 2 streams\nInjected 1 frames\nFinished in 22.464ms\n\n\n```\n\nScript can be executed in a loop mode.\nTo insert ID3v2 tags in several transport streams :\n\n```\n\nfor entry in `find /home/nginx/html/cdn/testad -name \"*.ts\"`; do ./mpeg_id3v2_injector.sh -s $entry -p test.com -a ad0 -t 0 ; done\n\n```\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flebougui%2Fhls-id3tags","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flebougui%2Fhls-id3tags","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flebougui%2Fhls-id3tags/lists"}