
Recherche avancée
Médias (1)
-
The Great Big Beautiful Tomorrow
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
Autres articles (83)
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;
Sur d’autres sites (8718)
-
ffmpeg libx264 non-existing PPS 0 referenced
18 août 2014, par Damen Salvatorehello i have installed ffmpeg and libx264 based in the offical tutorial on ffmpeg installation here :
https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntui want to get an stream from mumudvb and pass it to ffmpeg for h264 encoding
when i useffserver -f /path/to/config -d
i get this output :
[h264 @ 0x1ab32c0] non-existing PPS 0 referenced
[mpegts @ 0x2c7cca0] Could not find codec parameters for stream 0 (Video: h264 ([27][0][0][0] / 0x001B)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[h264 @ 0x1ab32c0] non-existing SPS 0 referenced in buffering period
[h264 @ 0x1ab32c0] non-existing PPS 0 referenced
[h264 @ 0x1ab32c0] decode_slice_header error
[h264 @ 0x1ab32c0] no frame!
[mpegts @ 0x1aadca0]
decoding for stream 0 failed
[mpegts @ 0x1aadca0] decoding for stream 1 failed
Input #0, mpegts, from 'http://127.0.0.1:9097':
Duration: N/A, start: 45508.714822, bitrate: N/A
Program 107
[mpegts @ 0x1aadca0] Stream #0:0[0x42e]: Video: h264 ([27][0][0][0] / 0x001B)[mpegts @ 0x30b0ca0] decoding for stream 1 failed
, 50 fpsitech@itech-All-Series:~$ , 50 tbr, 90k tbn, 180k tbc
[mpegts @ 0x1cd5ca0] Stream #0:1Could not find codec parameters for stream 1 (Audio: aac_latm ([17][0][0][0] / 0x0011), 0 channels, fltp): unspecified sample rate
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[0x42f](per): Audio: aac_latm ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp
http://127.0.0.1:8888/tv7.ffm: Input/output error
Input #0, mpegts, from 'http://127.0.0.1:9093':
Duration: N/A, start: 25560.704144, bitrate: N/A
Program 103
Stream #0:0[0x406]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt470bg), 720x576 [SAR 16:11 DAR 20:11], 25 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x407](per): Audio: aac_latm ([17][0][0][0] / 0x0011), 0 channels, fltp
Stream #0:2[0x40b](ara): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)
Received signal 2: terminating.
[mpegts @ 0x30b0ca0] Could not find codec parameters for stream 0 (Video: h264 ([27][0][0][0] / 0x001B)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
http://127.0.0.1:8888/tv3.ffm: Input/output error
[mpegts @ 0x1aadca0] Could not find codec parameters for stream 1 (Audio: aac_latm ([17][0][0][0] / 0x0011), 0 channels, fltp): unspecified sample rate
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from 'http://127.0.0.1:9094':
Received signal 2: terminating.
Could not find codec parameters for stream 1 (Audio: aac_latm ([17][0][0][0] / 0x0011), 0 channels, fltp): unspecified sample rate
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Duration: N/A, start: 43409.427056, bitrate: N/A
Program 104
Stream #0:0[0x410]Input #0, mpegts, from 'http://127.0.0.1:9098':
: Video: h264 ([27][0][0][0] / 0x001B), 50 fps, 50 tbr, 90k tbn, 180k tbc
Stream #0:1[0x411](per): Audio: aac_latm ([17][0][0][0] / 0x0011), 0 channels, fltp
Stream #0:2[0x415](ara): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)
http://127.0.0.1:8888/tv4.ffm: Input/output error
Received signal 2: terminating.
Duration: N/A, start: 26351.744300, bitrate: N/A
Program 108
Stream #0:0[0x438]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt470bg), 720x576 [SAR 12:11 DAR 15:11], 25 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x439](per): Audio: aac_latm ([17][0][0][0] / 0x0011), 0 channels, fltp
Stream #0:2[0x43d](ara): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)
http://127.0.0.1:8888/tv8.ffm: Input/output error
Received signal 2: terminating.ffmpeg will gime me the output. but the prooblem is that the outputs bitrate is around 2000k to 3000k it should be 512k
this is my ffserver config :
Port 8888
BindAddress 0.0.0.0
MaxHTTPConnections 20000
MaxClients 10000
MaxBandwidth 1000000
CustomLog -
<feed>
File /tmp/ch1.ffm
FileMaxSize 100M
ACL allow 127.0.0.1
launch ffmpeg -i http://127.0.0.1:9094
</feed>
<stream ch1="ch1">
Feed ch1.ffm
Format mpegts
AudioBitRate 64
AudioChannels 2
AudioSampleRate 44100
#AVOptionAudio flags +global_header
VideoBitRate 512
VideoBufferSize 400
VideoFrameRate 25
VideoBitRateTolerance 100
VideoSize 720x576
VideoGopSize 12
AudioCodec aac
VideoCodec libx264
AVOptionVideo bsf h264_mp4toannexb
#AVOptionVideo threads 0
AVOptionVideo threads_type frame
AVOptionVideo coder 0
AVOptionVideo bf 0
AVOptionVideo flags +loop
AVOptionVideo partitions +parti8x8+parti4x4+partp8x8+partb8x8
AVOptionVideo me_method hex
AVOptionVideo subq 7
AVOptionVideo me_range 16
AVOptionVideo g 250
AVOptionVideo keyint_min 10
AVOptionVideo sc_threshold 40
AVOptionVideo i_qfactor 0.71
AVOptionVideo b_strategy 1
AVOptionVideo qcomp 0.6
AVOptionVideo qmin 10
AVOptionVideo qmax 51
AVOptionVideo qdiff 4
AVOptionVideo refs 3
AVOptionVideo directpred 1
AVOptionVideo trellis 1
AVOptionVideo wpredp 0
#AVOptionVideo flags +global_header
StartSendOnKey
</stream> -
ffmpeg - connection drop every few minuts- connection timeout
9 novembre 2018, par Gloytos htyqoim runing ffmpeg to restream hls/m3u8 from another website(its my website).
i have more visitors on a period of the day and then ffmpeg stops every 3-6 minutes idont know why it stops, as i saw here in logs error is : Connection timeout , what can i do in this case
/root/bin/ffmpeg -i http://example.com/1.m3u8 -c copy -bufsize 600k
-hls_flags delete_segments -y /var/www/html/1.m3u8[hls,applehttp @ 0x365f740] Opening 'http://example.com/13152.ts' for reading
[hls,applehttp @ 0x365f740] Failed to open segment of playlist 0
[hls,applehttp @ 0x365f740] Opening 'http://example.com/13153.ts' for reading
frame= 6500 fps= 20 q=-1.0 size=N/A time=00:05:06.29 bitrate=N/A speed=0.962x [hls @ 0x3689540] Opening '/var/www/html/tv1/test46.ts' for writing
[hls @ 0x3689540] Opening '/var/www/html/tv1/test.m3u8.tmp' for writing
[hls,applehttp @ 0x365f740] Opening 'http://example.com/13154.ts' for reading
frame= 6750 fps= 21 q=-1.0 size=N/A time=00:05:21.17 bitrate=N/A speed=0.979x [hls @ 0x3689540] Opening '/var/www/html/tv1/test47.ts' for writing
[hls @ 0x3689540] Opening '/var/www/html/tv1/test.m3u8.tmp' for writing
[hls,applehttp @ 0x365f740] Opening 'http://example.com/13155.ts' for reading
[hls @ 0x3689540] Opening '/var/www/html/tv1/test48.ts' for writingeed=0.97x
[hls @ 0x3689540] Opening '/var/www/html/tv1/test.m3u8.tmp' for writing
[hls,applehttp @ 0x365f740] Opening 'http://example.com/13156.ts' for reading
frame= 7089 fps= 21 q=-1.0 size=N/A time=00:05:34.74 bitrate=N/A speed=0.986x [hls @ 0x3689540] Opening '/var/www/html/tv1/test49.ts' for writing
[hls @ 0x3689540] Opening '/var/www/html/tv1/test.m3u8.tmp' for writing
[hls,applehttp @ 0x365f740] Failed to reload playlist 0trate=N/A speed= 1x
frame= 7339 fps= 21 q=-1.0 size=N/A time=00:05:44.73 bitrate=N/A speed=0.985x [hls,applehttp @ 0x365f740] Opening 'http://example.com/13157.ts' for reading
http://example.com/1.m3u8: Connection timed out
[hls @ 0x3689540] Opening '/var/www/html/tv1/test.m3u8.tmp' for writing
frame= 7339 fps= 21 q=-1.0 Lsize=N/A time=00:05:44.73 bitrate=N/A speed=0.964x
video:7793kB audio:4586kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[root@T2 www]#/root/bin/ffmpeg -v trace -re -err_detect aggressive -user_agent server
-i http://example.com/1.m3u8 -c copy -bufsize 1600k -hls_flags delete_segments -y /var/www/html/1.m3u8Last message repeated 2 times
[mpegts @ 0x3715660] pid=101 pes_code=0x1c0
[mpegts @ 0x3770560] nal 9
Last message repeated 2 times
[mpegts @ 0x3715660] pid=100 pes_code=0x1e0:02:20.88 bitrate=N/A speed= 1x
[mpegts @ 0x3770560] nal 9
[mpegts @ 0x3715660] pid=100 pes_code=0x1e0
Last message repeated 2 times
[mpegts @ 0x3715660] pid=101 pes_code=0x1c0
[mpegts @ 0x3770560] nal 9
Last message repeated 2 times
[mpegts @ 0x3715660] pid=100 pes_code=0x1e0
[mpegts @ 0x3770560] nal 9
[mpegts @ 0x3715660] pid=100 pes_code=0x1e0
Last message repeated 1 times
[mpegts @ 0x3715660] pid=101 pes_code=0x1c0
[mpegts @ 0x3770560] nal 9
Last message repeated 1 times
[AVIOContext @ 0x3773300] Statistics: 806144 bytes read, 0 seeks
[hls,applehttp @ 0x370e760] Opening 'http://example.com/1.m3u8' for reading
[hls,applehttp @ 0x370e760] Failed to reload playlist 0
[mpegts @ 0x3770560] nal 9
Last message repeated 1 times
[hls,applehttp @ 0x370e760] Opening 'http://example.com/1.m3u8' for reading
[hls,applehttp @ 0x370e760] Failed to reload playlist 0
No more output streams to write to, finishing.
[AVIOContext @ 0x37752e0] Statistics: 0 seeks, 4 writeouts
[hls muxer @ 0x3738fe0] deleting old segment test6.ts
[hls @ 0x37755c0] Opening '/var/www/html/1.m3u8.tmp' for writing
[file @ 0x3773480] Setting default whitelist 'file,crypto'
[hls muxer @ 0x3738fe0] EXT-X-MEDIA-SEQUENCE:16
[AVIOContext @ 0x3773300] Statistics: 0 seeks, 1 writeouts
frame= 3532 fps= 23 q=-1.0 Lsize=N/A time=00:02:21.24 bitrate=N/A speed=0.932x
video:5169kB audio:2207kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (http://example.com/1.m3u8):
Input stream #0:0 (video): 3532 packets read (5293095 bytes);
Input stream #0:1 (audio): 5886 packets read (2260224 bytes);
Total: 9418 packets (7553319 bytes) demuxed
Output file #0 (/var/www/html/1.m3u8):
Output stream #0:0 (video): 3532 packets muxed (5293095 bytes);
Output stream #0:1 (audio): 5886 packets muxed (2260224 bytes);
Total: 9418 packets (7553319 bytes) muxed
0 frames successfully decoded, 0 decoding errors
[AVIOContext @ 0x371a900] Statistics: 236 bytes read, 0 seeks
[root@T2 www]# -
Adding A New System To The Game Music Website
1er août 2012, par Multimedia Mike — GeneralAt first, I was planning to just make a little website where users could install a Chrome browser extension and play music from old 8-bit NES games. But, like many software projects, the goal sort of ballooned. I created a website where users can easily play old video game music. It doesn’t cover too many systems yet, but I have had individual requests to add just about every system you can think of.
The craziest part is that I know it’s possible to represent most of the systems. Eventually, it would be great to reach Chipamp parity (a combination plugin for Winamp that packages together plugins for many of these chiptunes). But there is a process to all of this. I have taken to defining a number of phases that are required to get a new system covered.
Phase 0 informally involves marveling at the obscurity of some of the console systems for which chiptune collections have evolved. WonderSwan ? Sharp X68000 ? PC-88 ? I may be viewing this through a terribly Ameri-centric lens. I’ve at least heard of the ZX Spectrum and the Amstrad CPC even if I’ve never seen either.
No matter. The goal is to get all their chiptunes cataloged and playable.
Phase 1 : Finding A Player
The first step is to find a bit of open source code that can play a particular format. If it’s a library that can handle many formats, like Game Music Emu or Audio Overload SDK, even better (probably). The specific open source license isn’t a big concern for me. I’m almost certain that some of the libraries that SaltyGME currently mixes are somehow incompatible, license-wise. I’ll worry about it when I encounter someone who A) cares, and B) is in a position to do something about it. Historical preservation comes first, and these software libraries aren’t getting any younger (I’m finding some that haven’t been touched in a decade).Phase 2 : Test Program
The next phase is to create a basic test bench program that sends a music file into the library, generates a buffer of audio, and shoves it out to the speakers via PulseAudio’s simple API (people like to rip on PulseAudio, but its simple API really lives up to its name and requires pages less boilerplate code to play a few samples than ALSA).Phase 3 : Plug Into Web Player
After successfully creating the test bench and understanding exactly which source files need to be built, the next phase is to hook it up to the main SaltyGME program via the ad-hoc plugin API I developed. This API requires that a player backend can, at the very least, initialize itself based on a buffer of bytes and generate audio samples into an array of 16-bit numbers. The API also provides functions for managing files with multiple tracks and toggling individual voices/channels if the library supports such a feature. Having the test bench application written beforehand usually smooths out this step.But really, I’m just getting started.
Phase 4 : Collecting A Song Corpus
Then there is the matter of staging a collection of songs for a given system. It seems like it would just be a matter of finding a large collection of songs for a given format, downloading them in bulk, and mirroring them. Honestly, that’s the easy part. People who are interested in this stuff have been lovingly curating massive collections of these songs for years (see SNESmusic.org for one of the best examples, and they also host a torrent of all their music for really quick and easy hoarding).
In my drive to make this game music website more useful for normal people, the goal is to extract as much metadata as possible to make searching better, and to package the data so that it’s as convenient as possible for users. Whenever I seek to add a new format to the collection, this is the phase where I invariably find that I have to fundamentally modify some of the assumptions I originally made in the player.First, there were the NES Sound Format (NSF) files, the original format I wanted to play. These are files that have any number of songs packed into a single file. Playback libraries expose APIs to jump to individual tracks. So the player was designed around that. Game Boy GBS files also fall into this category but present a different challenge vis-à-vis metadata, addressed in the next phase.
Then, there were the SPC files. Each SPC file is its own song and multiple SPC files are commonly bundled as RAR files. Not wanting to deal with RAR, or any format where I interacted with a general compression API to pull a few files out, I created a custom resource format (inspired by so many I have studied and documented) and compressed it with a simpler compression API. I also had to modify some of the player’s assumptions to deal with this archive format. Genesis VGMs, bundled either in .zip or .7z, followed the same model as SPC in RAR.
Then it was suggested that I attempt to bring SaltyGME closer to feature parity with Chipamp, rather than just being a Chrome browser frontend for Game Music Emu. When I studied the Portable Sound Format (PSF), I realized it didn’t fit into the player model I already had. PSF uses a sort of shared library model for code execution and I developed another resource archive format to cope with it. So that covers quite a few formats.
One more architecture challenge arose when I started to study one of the prevailing metadata formats, explained in the next phase.
Phase 5 : Metadata
Finally, for the collections to really be useful, I need to harvest that juicy metadata for search and presentation.I have created a series of programs and scripts to scrape metadata out of these music files and store it all in a database that drives the website and search engine. I recognize that it’s no good to have a large corpus of songs with minimal metadata and while importing bulk quantities of music, the scripts harshly reject songs that have too little metadata.
Again, challenges abound. One of the biggest challenges I’m facing is the peculiar quasi-freeform metadata format that emerged as .m3u that takes a form similar to :
################################################################# # # GRADIUS2 # (c) KONAMI by Furukawa Motoaki, IKACHAN # #################################################################
nemesis2.kss::KSS,62,[Nemesis2] (Opening),2:23,,0
nemesis2.kss::KSS,61,[Nemesis2] (Start),7,,0
nemesis2.kss::KSS,43,[Nemesis2] (Air Battle),34,0-
nemesis2.kss::KSS,44,[Nemesis2] (1st. BGM),51,0-
[...]A lot of file formats (including Game Boy GBS mentioned earlier) store their metadata separately using this format. I have some ideas about tools I can use to help me process this data but I’m pretty sure each one will require some manual intervention.
As alluded to in phase 4, .m3u presents another architectural challenge : Notice the second field in the CSV .m3u data. That’s a track number. A player can’t expect every track in a bundled chiptune file to be valid, nor to be in any particular order. Thus, I needed to alter the architecture once more to take this into account. However, instead of modifying the SaltyGME player, I simply extended the metadata database to include a playback order which, by default, is the same as the track order but can also accommodate this new issue. This also has the bonus of providing a facility to exclude playback of certain tracks. This comes in handy for many PSF archives which tend to include files that only provide support for other files and aren’t meant to be played on their own.
Bright Side
The reward for all of this effort is that the data lands in a proper database in the end. None of it goes back into the chiptune files themselves. This makes further modification easier as all of the data that is indexed and presented on the site comes from the database. Somewhere down the road, I should probably create an API for accessing this metadata.