
Recherche avancée
Médias (3)
-
Elephants Dream - Cover of the soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
Valkaama DVD Label
4 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Image
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (76)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)
Sur d’autres sites (5826)
-
Chrome’s New Audio Notifier
30 janvier 2014, par Multimedia Mike — GeneralVersion 32 of Google’s Chrome web browser introduced this nifty feature :
When a browser tab has an element that is producing audio, the browser’s tab shows the above audio notification icon to inform the user. I have seen that people have a few questions about this, specifically :
- How does this feature work ?
- Why wasn’t this done sooner ?
- Are other browsers going to follow suit ?
Short answers : 1) Chrome offers a new plugin API that the Flash Player is now using, as are Chrome’s internal media playing facilities ; 2) this feature was contingent on the new plugin infrastructure mentioned in the previous answer ; 3) other browsers would require the same infrastructure support.
Longer answers follow…
Plugin History
Plugins were originally based on the Netscape Plugin API. This was developed in the early 1990s in order to support embedding PDFs into the Netscape web browser. The NPAPI does things like providing graphics contexts for drawing and input processing, and mediate network requests through the browser’s network facilities.What NPAPI doesn’t do is handle audio. In the early-mid 1990s, audio support was not a widespread consideration in the consumer PC arena. Due to the lack of audio API support, if a plugin wanted to play audio, it had to go outside of the plugin framework.
There are a few downsides to this approach :
- If a plugin wants to play audio, it needs to access unique audio APIs on each supported platform. One of the most famous things I’ve ever written deals concerns this nightmare on Linux. (The picture worth a thousand words.)
- Plugin necessarily needs free unrestricted access to system facilities, i.e., security measures like sandboxing become more difficult without restricting functionality.
- Since the browser doesn’t mediate access to the audio APIs, the browser can’t reasonably be expected to know when a plugin is accessing the audio resources.
So that last item hopefully answers the question of why it has been so difficult for NPAPI-supporting browsers to implement what seems like it would be simple functionality, like implementing a per-tab audio notifier.
Plugin Future
Since Google released Chrome in an effort to facilitate advancements on the client side of the internet, they have made numerous efforts to modernize various legacy aspects of web technology. These efforts include the SPDY protocol, Native Client, WebM/WebP, and something call the Pepper Plugin API (PPAPI). This is a more modern take on the classic plugin architecture to supplant the aging NPAPI :
Right away, we see that the job of the plugin writer is greatly simplified. Where was this API years ago when I was writing my API jungle piece ?
The Linux version of Chrome was apparently the first version that packaged the Pepper version of the Flash Player (doing so fixed an obnoxious bug in the Linux Flash Player interaction with GTK). Now, it looks like Windows and Mac have followed suit. Digging into the Chrome directory on a Windows 7 installation :
AppData\Local\Google\Chrome\Application[version]\PepperFlash\pepflashplayer.dll
This directory exists for version 31 as well, which is still hanging around my system.
So, to re-iterate : Chrome has a new plugin API that plugins use to access the audio API. Chrome knows when the API is accessed and that allows the browser to display the audio notifier on a tab.
Other Browsers
What about other browsers ? “Mozilla is not interested in or working on Pepper at this time. See the Chrome Pepper pages.” -
Raising and Rescuing Custom Exception
24 décembre 2013, par cmwI'm using Rails 3 with Carrierwave and FFMPEG to handle video uploads and encoding.
In my uploader, I'm using FFMPEG to grab the duration of the video from cache before storing it.
I'd like to raise a custom exception if the video's duration exceeds a specific length and then route the user accordingly. I've spent quite a bit of time trying to figure out how to create, raise and rescue my own custom exceptions in Rails – but, I've had no luck.
Some posts I've used to try to piece this together include this stack overflow post and this article on customized exception handling in Rails 3. I've had no luck yet.
I'm hoping someone can offer guidance on the proper approach to this. My mind is blown.
Below is what my uploader looks like :
class VideoUploader < CarrierWave::Uploader::Base
before :store, :ffmpeg
# Set storage type
storage :fog
# Override the directory where uploaded files will be stored.
def store_dir
"#{model.class.to_s.underscore}/videos/#{model.id}"
end
# Add a white list of extensions which are allowed to be uploaded.
def extension_white_list
%w(mov avi mp4 mkv wmv mpg)
end
def full_cache_path
"#{::Rails.root}/public/#{cache_dir}/#{cache_name}"
end
private
def ffmpeg(*args)
@model.video.cache_stored_file!
movie = FFMPEG::Movie.new("#{model.video.full_cache_path}")
if movie.duration > 600
raise "my custom exception will go here one day"
end
end
end -
Cannot play local RTP stream
24 janvier 2020, par gdogg371I have been struggling along with this issue now for a while, but am making good progress. I now have a 4k transport stream running using the below command line arguments for VLC :
vlc --ffmpeg-hw --avcodec-hw=any dshow:// :dshow-vdev="Video (00 Pro Capture HDMI 4K+)" :dshow-adev="Audio (2- 00 Pro Capture HDMI 4K+)" :dshow-threads=8 :dshow-aspect-ratio=16\:9 :dshow-size="3840x2160" :dshow-pixel_format=yuv444p16le :dshow-tune=film :dshow-preset=lossless :dshow-profile=main10 show-vcodec=hevc_nvenc :dshow-fps=50 :dshow-crf=0 :dshow-acodec=mp4a :dshow-stereo-mode=5 :dshow-force-surround-sound=0 :dshow-ab=128 :dshow-samplerate=44100 :no-dshow-config :live-caching=3000 --sout "#transcode{venc=ffmpeg,vcodec=mpgv,threads=8,aspect=16:9,width=3840,height=2160,fps=50,acodec=a52,ab=1500,channels=6,samplerate=48000,soverlay}:rtp{dst=239.255.0.1,port=5004,mux=ts}"
I can access the rtp stream on the same PC as I am running the stream from with the below :
vlc -vvv rtp://@239.255.0.1:5004
However, if I try the same commands on a different computer, connected via Ethernet to the same network, the client VLC session just hangs. I have included the log below with the verbosity set to debug. Can anyone spot anything in here suggesting why the stream won’t play ?
-- logger module started --
main debug: VLC media player - 3.0.8 Vetinari
main debug: Copyright © 1996-2019 the VideoLAN team
main debug: revision 3.0.8-0-gf350b6b5a7
main debug: configured with ../extras/package/win32/../../../configure '--enable-update-check' '--enable-lua' '--enable-faad' '--enable-flac' '--enable-theora' '--enable-avcodec' '--enable-merge-ffmpeg' '--enable-dca' '--enable-mpc' '--enable-libass' '--enable-schroedinger' '--enable-realrtsp' '--enable-live555' '--enable-dvdread' '--enable-shout' '--enable-goom' '--enable-caca' '--enable-qt' '--enable-skins2' '--enable-sse' '--enable-mmx' '--enable-libcddb' '--enable-zvbi' '--disable-telx' '--enable-nls' '--host=x86_64-w64-mingw32' '--with-breakpad=https://win.crashes.videolan.org' 'host_alias=x86_64-w64-mingw32' 'PKG_CONFIG_LIBDIR=/home/jenkins/workspace/vlc-release/windows/vlc-release-win32-x64/contrib/x86_64-w64-mingw32/lib/pkgconfig'
main debug: using multimedia timers as clock source
main debug: min period: 1 ms, max period: 1000000 ms
main debug: searching plug-in modules
main debug: loading plugins cache file D:\VLC\plugins\plugins.dat
main debug: recursively browsing `D:\VLC\plugins'
main error: stale plugins cache: modified D:\VLC\plugins\access\libaccess_concat_plugin.dll
main error: stale plugins cache: modified D:\VLC\plugins\access\libaccess_imem_plugin.dll
....
....
....
main error: stale plugins cache: modified D:\VLC\plugins\visualization\libgoom_plugin.dll
main error: stale plugins cache: modified D:\VLC\plugins\visualization\libprojectm_plugin.dll
main error: stale plugins cache: modified D:\VLC\plugins\visualization\libvisual_plugin.dll
main debug: plug-ins loaded: 494 modules
main debug: opening config file (C:\Users\cg371\AppData\Roaming\vlc\vlcrc)
main debug: looking for logger module matching "any": 2 candidates
file debug: opening logfile `D:\VLC\Log.txt'
main debug: using logger module "file"
main debug: translation test: code is "en_GB"
main debug: looking for keystore module matching "memory": 3 candidates
main debug: using keystore module "memory"
main debug: CPU has capabilities MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 FPU
main debug: Creating an input for 'Media Library'
main debug: Input is a meta file: disabling unneeded options
main debug: using timeshift granularity of 50 MiB
main debug: using timeshift path: C:\Users\cg371\AppData\Local\Temp
main debug: `file/directory:///C:/Users/cg371/AppData/Roaming/vlc/ml.xspf' gives access `file' demux `directory' path `/C:/Users/cg371/AppData/Roaming/vlc/ml.xspf'
main debug: creating demux: access='file' demux='directory' location='/C:/Users/cg371/AppData/Roaming/vlc/ml.xspf' file='C:\Users\cg371\AppData\Roaming\vlc\ml.xspf'
main debug: looking for access_demux module matching "file": 15 candidates
main debug: no access_demux modules matched
main debug: creating access: file:///C:/Users/cg371/AppData/Roaming/vlc/ml.xspf
main debug: (path: C:\Users\cg371\AppData\Roaming\vlc\ml.xspf)
main debug: looking for access module matching "file": 26 candidates
main debug: using access module "filesystem"
main debug: looking for stream_filter module matching "prefetch,cache_read": 24 candidates
cache_read debug: Using stream method for AStream*
cache_read debug: starting pre-buffering
cache_read debug: received first data after 1 ms
cache_read debug: pre-buffering done 304 bytes in 0s - 296 KiB/s
main debug: using stream_filter module "cache_read"
main debug: looking for stream_filter module matching "any": 24 candidates
playlist debug: using XSPF playlist reader
main debug: using stream_filter module "playlist"
main debug: stream filter added to 00000266f6927700
main debug: looking for stream_filter module matching "any": 24 candidates
main debug: no stream_filter modules matched
main debug: looking for stream_directory module matching "any": 1 candidates
main debug: no stream_directory modules matched
main debug: attachment of directory-extractor failed for file:///C:/Users/cg371/AppData/Roaming/vlc/ml.xspf
main debug: looking for stream_filter module matching "record": 24 candidates
main debug: using stream_filter module "record"
main debug: creating demux: access='file' demux='directory' location='/C:/Users/cg371/AppData/Roaming/vlc/ml.xspf' file='C:\Users\cg371\AppData\Roaming\vlc\ml.xspf'
main debug: looking for demux module matching "directory": 55 candidates
main debug: using demux module "directory"
main debug: looking for meta reader module matching "any": 2 candidates
lua debug: Trying Lua scripts in C:\Users\cg371\AppData\Roaming\vlc\lua\meta\reader
lua debug: Trying Lua scripts in D:\VLC\lua\meta\reader
lua debug: Trying Lua playlist script D:\VLC\lua\meta\reader\filename.luac
main debug: no meta reader modules matched
main debug: `file/directory:///C:/Users/cg371/AppData/Roaming/vlc/ml.xspf' successfully opened
main debug: looking for xml reader module matching "any": 1 candidates
main debug: using xml reader module "xml"
main debug: EOF reached
main debug: removing module "directory"
main debug: removing module "record"
main debug: removing module "playlist"
main debug: removing module "cache_read"
main debug: removing module "filesystem"
main debug: creating audio output
main debug: looking for audio output module matching "any": 6 candidates
mmdevice debug: using default device
mmdevice debug: display name changed: VLC media player (LibVLC 3.0.8)
mmdevice debug: version 2 session control unavailable
mmdevice debug: volume from -65.250000 dB to +0.000000 dB with 0.031250 dB increments
main debug: using audio output module "mmdevice"
main debug: keeping audio output
main debug: looking for interface module matching "hotkeys,none": 16 candidates
main debug: using interface module "hotkeys"
main debug: looking for interface module matching "globalhotkeys,none": 16 candidates
main debug: using interface module "win32"
main: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
main debug: looking for interface module matching "any": 16 candidates
main debug: looking for extension module matching "any": 1 candidates
lua debug: Opening Lua Extension module
lua debug: Trying Lua scripts in C:\Users\cg371\AppData\Roaming\vlc\lua\extensions
lua debug: Trying Lua scripts in D:\VLC\lua\extensions
lua debug: Trying Lua playlist script D:\VLC\lua\extensions\VLSub.luac
lua debug: Scanning Lua script D:\VLC\lua\extensions\VLSub.luac
lua debug: Script D:\VLC\lua\extensions\VLSub.luac has the following capability flags: 0x5
main debug: using extension module "lua"
main debug: using interface module "qt"
main debug: processing request item: null, node: Playlist, skip: 0
main debug: rebuilding array of current - root Playlist
main debug: rebuild done - 1 items, index -1
main debug: starting playback of new item
main debug: resyncing on rtp://239.255.0.1:5004
main debug: rtp://239.255.0.1:5004 is at 0
main debug: creating new input thread
main debug: Creating an input for 'rtp://239.255.0.1:5004'
main debug: requesting art for new input thread
main debug: using timeshift granularity of 50 MiB
main debug: using timeshift path: C:\Users\cg371\AppData\Local\Temp
main debug: `rtp://@239.255.0.1:5004' gives access `rtp' demux `any' path `@239.255.0.1:5004'
main debug: creating demux: access='rtp' demux='any' location='@239.255.0.1:5004' file='\\@239.255.0.1:5004'
main debug: looking for access_demux module matching "rtp": 15 candidates
main debug: net: opening 239.255.0.1 datagram port 5004
qt debug: IM: Setting an input
main debug: looking for meta fetcher module matching "any": 1 candidates
lua debug: Trying Lua scripts in C:\Users\cg371\AppData\Roaming\vlc\lua\meta\fetcher
lua debug: Trying Lua scripts in D:\VLC\lua\meta\fetcher
main debug: no meta fetcher modules matched
main debug: looking for art finder module matching "any": 2 candidates
lua debug: Trying Lua scripts in C:\Users\cg371\AppData\Roaming\vlc\lua\meta\art
lua debug: Trying Lua scripts in D:\VLC\lua\meta\art
lua debug: Trying Lua playlist script D:\VLC\lua\meta\art\00_musicbrainz.luac
lua debug: skipping script (unmatched scope) D:\VLC\lua\meta\art\00_musicbrainz.luac
lua debug: Trying Lua playlist script D:\VLC\lua\meta\art\01_googleimage.luac
lua debug: skipping script (unmatched scope) D:\VLC\lua\meta\art\01_googleimage.luac
lua debug: Trying Lua playlist script D:\VLC\lua\meta\art\02_frenchtv.luac
lua debug: skipping script (unmatched scope) D:\VLC\lua\meta\art\02_frenchtv.luac
lua debug: Trying Lua playlist script D:\VLC\lua\meta\art\03_lastfm.luac
main debug: using access_demux module "rtp"
main debug: looking for meta reader module matching "any": 2 candidates
lua debug: Trying Lua scripts in C:\Users\cg371\AppData\Roaming\vlc\lua\meta\reader
lua debug: Trying Lua scripts in D:\VLC\lua\meta\reader
lua debug: Trying Lua playlist script D:\VLC\lua\meta\reader\filename.luac
lua debug: skipping script (unmatched scope) D:\VLC\lua\meta\art\03_lastfm.luac
main debug: no art finder modules matched
main debug: no meta reader modules matched
main debug: `rtp://@239.255.0.1:5004' successfully opened
main debug: looking for meta fetcher module matching "any": 1 candidates
lua debug: Trying Lua scripts in C:\Users\cg371\AppData\Roaming\vlc\lua\meta\fetcher
lua debug: Trying Lua scripts in D:\VLC\lua\meta\fetcher
main debug: no meta fetcher modules matched
main debug: looking for art finder module matching "any": 2 candidates
lua debug: Trying Lua scripts in C:\Users\cg371\AppData\Roaming\vlc\lua\meta\art
lua debug: Trying Lua scripts in D:\VLC\lua\meta\art
lua debug: Trying Lua playlist script D:\VLC\lua\meta\art\00_musicbrainz.luac
lua debug: Trying Lua playlist script D:\VLC\lua\meta\art\01_googleimage.luac
lua debug: Trying Lua playlist script D:\VLC\lua\meta\art\02_frenchtv.luac
lua debug: Trying Lua playlist script D:\VLC\lua\meta\art\03_lastfm.luac
main debug: no art finder modules matched
main debug: exiting
main debug: exiting
main debug: no exit handler
main debug: removing all interfaces
main debug: removing module "qt"
main debug: deactivating the playlist
main debug: incoming request - stopping current input
main debug: removing module "rtp"
main debug: dead input
main debug: nothing to play
main debug: removing module "mmdevice"
qt debug: requesting exit...
qt debug: waiting for UI thread...
qt debug: IM: Deleting the input
qt debug: QApp exec() finished
qt debug: Video is not needed anymore
qt debug: Killing extension dialog provider
qt debug: ExtensionsDialogProvider is quitting...
main debug: removing module "lua"
main debug: removing module "win32"
main debug: removing module "hotkeys"
main debug: destroying
main debug: saving media library to file C:\Users\cg371\AppData\Roaming\vlc\ml.xspf.tmp14968
main debug: looking for playlist export module matching "export-xspf": 4 candidates
main debug: using playlist export module "export"
main debug: removing module "export"
main debug: deleting item `Media Library'
main debug: deleting item `rtp://239.255.0.1:5004'
main debug: deleting item `Playlist'
main debug: removing module "memory"
-- logger module stopped --