
Recherche avancée
Médias (17)
-
Matmos - Action at a Distance
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
DJ Dolores - Oslodum 2004 (includes (cc) sample of “Oslodum” by Gilberto Gil)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Danger Mouse & Jemini - What U Sittin’ On ? (starring Cee Lo and Tha Alkaholiks)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Cornelius - Wataridori 2
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Rapture - Sister Saviour (Blackstrobe Remix)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Chuck D with Fine Arts Militia - No Meaning No
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (105)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Contribute to a better visual interface
13 avril 2011MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.
Sur d’autres sites (12671)
-
aarch64 : Factorize code for CPU feature detection on Apple platforms
12 mars 2024, par Martin Storsjö -
Read ID3 tags generated using Apple's id3taggenerator
9 octobre 2024, par Damiaan DufauxHi I am creating an HLS stream with ID3 tags using Apple's HTTP Live Streaming (HLS) Tools, FFmpeg and NodeJS. When I try to read out the stream using an
AVPlayer
andAVPlayerItemMetadataOutput
on macOS I'm not able to read out the ID3 tags. When I use the same code to read out a sample stream containing ID3 tags I do see them popping up. What am I doing wrong ?

Reproduction :


Streaming


I generate an infinite HLS stream from a 5 minute long mpeg ts file using this command :


ffmpeg -stream_loop -1 -re -i 5m.ts -c:v copy -c:a copy -f mpegts -strict -2 - | mediastreamsegmenter -b http://DamiaanTheoPro14.local:8081/ -f /tmp/hlsId3/video -D -m -M 50000 -log /tmp/hlsId3/log.txt



I serve that HLS stream using nodejs builtin
http-server


ID3 tag generation


Then I emit some ID3 tags using the following commands :


id3taggenerator -title foo -artist bar -a localhost:50000
id3taggenerator -text "foo bar" -d "sample text" -r -a localhost:50000



Reading


Now to read out the tags I use this little SwiftUI app :


import SwiftUI
import AVKit

let bipbopUrl = URL(string: "https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_16x9/bipbop_16x9_variant.m3u8")!
let localUrl = URL(string: "http://damiaantheopro14.local:8081/prog_index.m3u8")!
let local = AVPlayerItem(url: localUrl)
let bipbop = AVPlayerItem(url: bipbopUrl)

struct ContentView: View {
 let player = AVPlayer()
 let observer = Id3Observer()
 var lastTag: AVMetadataGroup?
 
 var body: some View {
 VStack {
 HStack {
 Button("BipBop") {
 player.replaceCurrentItem(with: bipbop)
 bipbop.add(observer.metadataOutput)
 }
 Button("Local") {
 player.replaceCurrentItem(with: local)
 local.add(observer.metadataOutput)
 }
 Button("🅧") {
 player.replaceCurrentItem(with: nil)
 }
 }
 VideoPlayer(player: player)
 }
 .padding()
 }
}

class Id3Observer: NSObject, AVPlayerItemMetadataOutputPushDelegate {
 let metadataOutput = AVPlayerItemMetadataOutput()
 
 override init() {
 super.init()
 metadataOutput.setDelegate(self, queue: .global())
 }
 
 func metadataOutput(_ output: AVPlayerItemMetadataOutput, didOutputTimedMetadataGroups groups: [AVTimedMetadataGroup], from: AVPlayerItemTrack?) {
 print("metadataOutput", groups.count)
 print("\t", groups.map { group in
 group.items.map { item in
 "\(item.dataType) \(item.keySpace!) \(item.key!) \(item.time.seconds) \(item.duration.seconds.rounded())"
 }.joined(separator: "/n/t")
 }.joined(separator: "\n\t"))
 }
}



-
Open source media server for web service.
20 février 2016, par ScarfaceI am currently building a website where users can listen to music, and watch videos. However, I am worried about the media content(music/videos) being downloaded from the website(I initially stuck to the HTML5 video/audio tags), I did a little research and found that my best option to prevent this was by using a media server, I have search for free open source media servers to use, but none seem promising. I thought my best bet was ffmpeg, but I am scared to use it as there it seems to be no longer maintained. Does anyone know of any good media servers out there I could use ?