
Recherche avancée
Médias (91)
-
Corona Radiata
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Lights in the Sky
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Head Down
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Echoplex
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Discipline
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Letting You
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (67)
-
Pas question de marché, de cloud etc...
10 avril 2011Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
sur le web 2.0 et dans les entreprises qui en vivent.
Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...) -
Dépôt de média et thèmes par FTP
31 mai 2013, parL’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...) -
Activation de l’inscription des visiteurs
12 avril 2011, parIl est également possible d’activer l’inscription des visiteurs ce qui permettra à tout un chacun d’ouvrir soit même un compte sur le canal en question dans le cadre de projets ouverts par exemple.
Pour ce faire, il suffit d’aller dans l’espace de configuration du site en choisissant le sous menus "Gestion des utilisateurs". Le premier formulaire visible correspond à cette fonctionnalité.
Par défaut, MediaSPIP a créé lors de son initialisation un élément de menu dans le menu du haut de la page menant (...)
Sur d’autres sites (10353)
-
sws_scale performance comparison to media players real time resize
14 juillet 2018, par Andrey KatkovWhile playing 4K video user can resize players window - and result image will be scaled smoothly in run time.
On the other hand - program written with libav which reads 4k video file frame by frame and scale it down with sws_scale function do it less effective : it took more time then video duration to resize it.
Why is it so ? Maybe because player fps is less and some frames are skipped - but video still looks smooth ?
-
Invalid data stream in media could not be discarded by FFMPEG. Why is it staying and how to discard it ?
5 décembre 2020, par Link-akroI have downloaded a [short media][1] i intend to convert then i will use the result as basis to practice and test any and all FFMPEG commands i learn or use later.


That video seems to have an unknown invalid stream which never disappears no matter everything i tried to discard it. When i try to work with it later i get various problems like missing codec or no stream which is not the focus here but the reason why i got stubborn to remove the things i cannot deal with.


The following probing prints a warning in yellow color on last row.


> ffprobe -hide_banner -show_streams Movie_Countdown-youtube_I1vMKZ1kvg0.mov

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Movie_Countdown-youtube_I1vMKZ1kvg0.mov':
 Metadata:
 major_brand : qt
 minor_version : 537199360
 compatible_brands: qt
 creation_time : 2015-05-20T13:45:55.000000Z
 Duration: 00:00:10.00, start: 0.000000, bitrate: 11474 kb/s
 Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 9930 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 25 tbn, 50 tbc (default)
 Metadata:
 creation_time : 2015-05-20T13:45:55.000000Z
 handler_name : Apple Video Media Handler
 encoder : H.264
 timecode : 00:00:00:00
 Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)
 Metadata:
 creation_time : 2015-05-20T13:45:56.000000Z
 handler_name : Apple Sound Media Handler
 timecode : 00:00:00:00
 Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
 Metadata:
 creation_time : 2015-05-20T13:46:11.000000Z
 handler_name : Time Code Media Handler
 timecode : 00:00:00:00
Unsupported codec with id 0 for input stream 2



Below the streams output. I split the text so you see the warning without searching in the middle.


[STREAM]
index=0
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=Main
codec_type=video
codec_time_base=1/50
codec_tag_string=avc1
codec_tag=0x31637661
width=1920
height=1080
coded_width=1920
coded_height=1088
closed_captions=0
has_b_frames=0
sample_aspect_ratio=1:1
display_aspect_ratio=16:9
pix_fmt=yuv420p
level=40
color_range=tv
color_space=bt709
color_transfer=bt709
color_primaries=bt709
chroma_location=left
field_order=unknown
timecode=N/A
refs=1
is_avc=true
nal_length_size=4
id=N/A
r_frame_rate=25/1
avg_frame_rate=25/1
time_base=1/25
start_pts=0
start_time=0.000000
duration_ts=250
duration=10.000000
bit_rate=9930739
max_bit_rate=N/A
bits_per_raw_sample=8
nb_frames=250
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
TAG:creation_time=2015-05-20T13:45:55.000000Z
TAG:language=eng
TAG:handler_name=Apple Video Media Handler
TAG:encoder=H.264
TAG:timecode=00:00:00:00
[/STREAM]
[STREAM]
index=1
codec_name=pcm_s16le
codec_long_name=PCM signed 16-bit little-endian
profile=unknown
codec_type=audio
codec_time_base=1/48000
codec_tag_string=sowt
codec_tag=0x74776f73
sample_fmt=s16
sample_rate=48000
channels=2
channel_layout=stereo
bits_per_sample=16
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/48000
start_pts=0
start_time=0.000000
duration_ts=480000
duration=10.000000
bit_rate=1536000
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=480000
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
TAG:creation_time=2015-05-20T13:45:56.000000Z
TAG:language=eng
TAG:handler_name=Apple Sound Media Handler
TAG:timecode=00:00:00:00
[/STREAM]
[STREAM]
index=2
codec_name=unknown
codec_long_name=unknown
profile=unknown
codec_type=data
codec_tag_string=tmcd
codec_tag=0x64636d74
id=N/A
r_frame_rate=0/0
avg_frame_rate=25/1
time_base=1/25
start_pts=0
start_time=0.000000
duration_ts=250
duration=10.000000
bit_rate=3
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=1
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
TAG:creation_time=2015-05-20T13:46:11.000000Z
TAG:language=eng
TAG:handler_name=Time Code Media Handler
TAG:timecode=00:00:00:00
[/STREAM]



I scaled it down and recoded it for starters and i tried to discard the data stream with
-dn
and failed other methods i will mention at the end.
The output so far suggests that discarding should have worked since alternative datas are 0kB and no stream 2 is listed.

> ffmpeg -hide_banner -dn -i C:\Users\admin-dix\Downloads\Movie_Countdown-youtube_I1vMKZ1kvg0.mov -vf "scale=h=450:w=800" -f mp4 -c:a aac -c:v libx264 mov_countdown.mp4

Output #0, mp4, to 'mov_countdown.mp4':
 Metadata:
 major_brand : qt
 minor_version : 537199360
 compatible_brands: qt
 encoder : Lavf58.45.100
 Stream #0:0(eng): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 800x450 [SAR 1:1 DAR 16:9], q=-1--1, 0.04 fps, 12800 tbn, 25 tbc (default)
 Metadata:
 creation_time : 2015-05-20T13:45:55.000000Z
 handler_name : Apple Video Media Handler
 timecode : 00:00:00:00
 encoder : Lavc58.91.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
 Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 creation_time : 2015-05-20T13:45:56.000000Z
 handler_name : Apple Sound Media Handler
 timecode : 00:00:00:00
 encoder : Lavc58.91.100 aac
frame= 250 fps= 43 q=-1.0 Lsize= 342kB time=00:00:10.00 bitrate= 280.1kbits/s speed= 1.7x
video:175kB audio:159kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.710857%



Then ffprobe disagrees, there is still the stream and the warning.


ffprobe mov_countdown.mp4

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'mov_countdown.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.45.100
 Duration: 00:00:10.02, start: 0.000000, bitrate: 279 kb/s
 Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 800x450 [SAR 1:1 DAR 16:9], 142 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
 Metadata:
 handler_name : Apple Video Media Handler
 timecode : 00:00:00:00
 Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 129 kb/s (default)
 Metadata:
 handler_name : Apple Sound Media Handler
 Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
 Metadata:
 handler_name : Apple Video Media Handler
 timecode : 00:00:00:00
Unsupported codec with id 0 for input stream 2



I tried negative mapping as per this answer
-map 0:d
which failed. I did not understand-discard
option as ffmpeg documentation refers to from the-vn
,-an
,-dn
entries as it does not specify a stream.

Why does it do that and how can i remove that stream i do not know and do not want to care about in future tests ?


[1] : Clean Retro Movie Countdown - YouTube from Philippe Moesch https://www.youtube.com/watch?v=I1vMKZ1kvg0


-
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"))
 }
}