
Recherche avancée
Médias (1)
-
SPIP - plugins - embed code - Exemple
2 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
Autres articles (108)
-
Les vidéos
21 avril 2011, parComme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...) -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
Sur d’autres sites (10418)
-
How to make your plugin multilingual – Introducing the Piwik Platform
29 octobre 2014, par Thomas Steur — DevelopmentThis is the next post of our blog series where we introduce the capabilities of the Piwik platform (our previous post was Generating test data – Introducing the Piwik Platform). This time you’ll learn how to equip your plugin with translations. Users of your plugin will be very thankful that they can use and translate the plugin in their language !
Getting started
In this post, we assume that you have already set up your development environment and created a plugin. If not, visit the Piwik Developer Zone where you’ll find the tutorial Setting up Piwik and other Guides that help you to develop a plugin.
Managing translations
Piwik is available in over 50 languages and comes with many translations. The core itself provides some basic translations for words like “Visitor” and “Help”. They are stored in the directory
/lang
. In addition, each plugin can provide its own translations for wordings that are used in this plugin. They are located in/plugins/*/lang
. In those directories you’ll find one JSON file for each language. Each language file consists in turn of tokens that belong to a group.{
"MyPlugin":{
"BlogPost": "Blog post",
"MyToken": "My translation",
"InteractionRate": "Interaction Rate"
}
}A group usually represents the name of a plugin, in this case “MyPlugin”. Within this group, all the tokens are listed on the left side and the related translations on the right side.
Building a translation key
As you will later see to actually translate a word or a sentence you’ll need to know the corresponding translation key. This key is built by combining a group and a token separated by an underscore. You can for instance use the key
MyPlugin_BlogPost
to get a translation of “Blog post”. Defining a new key is as easy as adding a new entry to the “MyPlugin” group.Providing default translations
If a translation cannot be found then the English translation will be used as a default. Therefore, you should always provide a default translation in English for all keys in the file
en.json
(ie,/plugins/MyPlugin/lang/en.json
).Adding translations for other languages
This is as easy as creating new files in the lang subdirectory of your plugin. The filename consists of a 2 letter ISO 639-1 language code completed by the extension
.json
. This means German translations go into a file namedde.json
, French ones into a file namedfr.json
. To see a list of languages you can use have a look at the /lang directory.Reusing translations
As mentioned Piwik comes with quite a lot of translations. You can and should reuse them but you are supposed to be aware that a translation key might be removed or renamed in the future. It is also possible that a translation key was added in a recent version and therefore is not available in older versions of Piwik. We do not currently announce any of such changes. Still, 99% of the translation keys do not change and it is therefore usually a good idea to reuse existing translations. Especially when you or your company would otherwise not be able to provide them. To find any existing translation keys go to Settings => Translation search in your Piwik installation. The menu item will only appear if the development mode is enabled.
Translations in PHP
Use the Piwik::translate() function to translate any text in PHP. Simply pass any existing translation key and you will get the translated text in the language of the current user in return. The English translation will be returned in case none for the current language exists.
$translatedText = Piwik::translate('MyPlugin_BlogPost');
Translations in Twig Templates
To translate text in Twig templates, use the translate filter.
{{ 'MyPlugin_BlogPost'|translate }}
Contributing translations to Piwik
Did you know you can contribute translations to Piwik ? In case you want to improve an existing translation, translate a missing one or add a new language go to Piwik Translations and sign up for an account. You won’t need any knowledge in development to do this.
Advanced features
Of course there are more useful things you can do with translations. For instance you can use placeholders like
%s
in your translations and you can use translations in JavaScript as well. In case you want to know more about those topics check out our Internationalization guide. Currently, this guide only covers translations but we will cover more topics like formatting numbers and handling currencies in the future.Congratulations, you have learnt how to make your plugin multilingual !
If you have any feedback regarding our APIs or our guides in the Developer Zone feel free to send it to us.
-
How to make your plugin multilingual – Introducing the Piwik Platform
29 octobre 2014, par Thomas Steur — DevelopmentThis is the next post of our blog series where we introduce the capabilities of the Piwik platform (our previous post was Generating test data – Introducing the Piwik Platform). This time you’ll learn how to equip your plugin with translations. Users of your plugin will be very thankful that they can use and translate the plugin in their language !
Getting started
In this post, we assume that you have already set up your development environment and created a plugin. If not, visit the Piwik Developer Zone where you’ll find the tutorial Setting up Piwik and other Guides that help you to develop a plugin.
Managing translations
Piwik is available in over 50 languages and comes with many translations. The core itself provides some basic translations for words like “Visitor” and “Help”. They are stored in the directory
/lang
. In addition, each plugin can provide its own translations for wordings that are used in this plugin. They are located in/plugins/*/lang
. In those directories you’ll find one JSON file for each language. Each language file consists in turn of tokens that belong to a group.{
"MyPlugin":{
"BlogPost": "Blog post",
"MyToken": "My translation",
"InteractionRate": "Interaction Rate"
}
}A group usually represents the name of a plugin, in this case “MyPlugin”. Within this group, all the tokens are listed on the left side and the related translations on the right side.
Building a translation key
As you will later see to actually translate a word or a sentence you’ll need to know the corresponding translation key. This key is built by combining a group and a token separated by an underscore. You can for instance use the key
MyPlugin_BlogPost
to get a translation of “Blog post”. Defining a new key is as easy as adding a new entry to the “MyPlugin” group.Providing default translations
If a translation cannot be found then the English translation will be used as a default. Therefore, you should always provide a default translation in English for all keys in the file
en.json
(ie,/plugins/MyPlugin/lang/en.json
).Adding translations for other languages
This is as easy as creating new files in the lang subdirectory of your plugin. The filename consists of a 2 letter ISO 639-1 language code completed by the extension
.json
. This means German translations go into a file namedde.json
, French ones into a file namedfr.json
. To see a list of languages you can use have a look at the /lang directory.Reusing translations
As mentioned Piwik comes with quite a lot of translations. You can and should reuse them but you are supposed to be aware that a translation key might be removed or renamed in the future. It is also possible that a translation key was added in a recent version and therefore is not available in older versions of Piwik. We do not currently announce any of such changes. Still, 99% of the translation keys do not change and it is therefore usually a good idea to reuse existing translations. Especially when you or your company would otherwise not be able to provide them. To find any existing translation keys go to Settings => Translation search in your Piwik installation. The menu item will only appear if the development mode is enabled.
Translations in PHP
Use the Piwik::translate() function to translate any text in PHP. Simply pass any existing translation key and you will get the translated text in the language of the current user in return. The English translation will be returned in case none for the current language exists.
$translatedText = Piwik::translate('MyPlugin_BlogPost');
Translations in Twig Templates
To translate text in Twig templates, use the translate filter.
{{ 'MyPlugin_BlogPost'|translate }}
Contributing translations to Piwik
Did you know you can contribute translations to Piwik ? In case you want to improve an existing translation, translate a missing one or add a new language go to Piwik Translations and sign up for an account. You won’t need any knowledge in development to do this.
Advanced features
Of course there are more useful things you can do with translations. For instance you can use placeholders like
%s
in your translations and you can use translations in JavaScript as well. In case you want to know more about those topics check out our Internationalization guide. Currently, this guide only covers translations but we will cover more topics like formatting numbers and handling currencies in the future.Congratulations, you have learnt how to make your plugin multilingual !
If you have any feedback regarding our APIs or our guides in the Developer Zone feel free to send it to us.
-
Ffmpeg - Incorrect codec parameters
29 avril 2015, par DevPMI always got the following error, when trying to connect ffmpeg with ffserver :
But let’s start with the theory :
I want to Broadcast a stream, which is already existing in the internet (to able to do some analytic stuff on the stream).
So my idea is as follows :
i have one ubuntu-server (currently ubuntu-desktop version 12.x on a virtual machine, i will change it to a real server later...).
and i want to run on the server :ffmpeg, which should record the live-stream (and saves it locally)
ffserver, for broadcasting the same live-stream, using the rtp protocoll (because of the timestamp-header in the protocoll).
so if i understoot the documentation correctly, this is my idea :
- start ffserver from linux-terminal
(ffserver -f ~/Desktop/ffserver.conf
)
- start ffmpeg and connect to the feed of ffserver
(ffmpeg -re -i "http://InternetStreamer.sdp/playlist.m3u8" -vcodec libx264 -s 320x240 -pix_fmt yuv420p -vb 200000 -minrate 200000 -maxrate 200000 -bufsize 2000000 -acodec libmp3lame -ab 128k -ar 44100 -f rtp -an http://localhost:8090/feed1.ffm
)
(I am getting the Stream from the URL "http://InternetStreamer.sdp/playlist.m3u8" and want sent it to ffserver(also i want to save it locally for backup later...))now when i start ffmpeg i get the following error :
Could not write header for output file #0 (incorrect codec parameters ?)Last thing to say is that is very important to broadcast the stream with RTP-Protocoll. (Best case would be directly from ffmpeg, because then the RTP-headers are as set as early as possible)
my server.conf looks like follows :
Port 8090
BindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000
CustomLog -
NoDaemon
<feed>
#file ffmpeg http://localhost:8090/feed1.ffm
#Format rtp
#File /tmp/feed1.ffm
#FileMaxSize 200K
File /tmp/cam1.ffm
ACL allow 127.0.0.1
#VideoFrameRate 25
</feed>
<stream>
Feed feed1.ffm
Format rtp
#VideoFrameRate 25
#Hier: alle parameter von ffmpeg angeben!
#-re -i "http://apasfiisl.apa.at/ipad/orf2_q4a/orf.sdp/playlist.m3u8"
#-vcodec libx264
#-s 320x240
#-pix_fmt yuv420p
#-vb 200000
#-minrate 200000
#-maxrate 200000
#-bufsize 2000000
#-acodec libmp3lame
#-ab 128k
#-ar 44100
#AudioBitRate 32
#AudioChannels 1
#AudioSampleRate 44100
#VideoBitRate 64
#VideoBufferSize 40
VideoFrameRate 3
#VideoSize 160x128
#VideoGopSize 12
</stream>
##################################################################
# Special streams
# Server status
<stream>
Format status
# Only allow local people to get the status
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
#FaviconURL http://pond1.gladstonefamily.net:8080/favicon.ico
</stream>
# Redirect index.html to the appropriate sites
<redirect>
URL http://www.ffmpeg.org/
</redirect>####################################################################
This is the full console output from ffmpeg :
####################################################################The ffmpeg program is only provided for script compatibility and will be removed
in a future release. It has been deprecated in the Libav project to allow for
incompatible command line syntax improvements in its replacement called avconv
(see Changelog for details). Please use avconv instead.
[applehttp @ 0x91fa240] max_analyze_duration reached
[applehttp @ 0x91fa240] Estimating duration from bitrate, this may be inaccurate
Seems stream 1 codec frame rate differs from container frame rate: 180000.00 (180000/1) -> 25.00 (25/1)
Input #0, applehttp, from 'http://InternetStreamer.sdp/playlist.m3u8':
Duration: N/A, start: 61442.038956, bitrate: N/A
Stream #0.0: Data: [21][0][0][0] / 0x0015
Metadata:
variant_bitrate : 831114
Stream #0.1: Video: h264 (Main), yuvj420p, 640x360 [PAR 1:1 DAR 16:9], 25 tbr, 90k tbn, 180k tbc
Metadata:
variant_bitrate : 831114
Stream #0.2: Audio: aac, 44100 Hz, stereo, s16
Metadata:
variant_bitrate : 831114
[buffer @ 0x9215720] w:640 h:360 pixfmt:yuvj420p
[scale @ 0x9434300] w:640 h:360 fmt:yuvj420p -> w:320 h:240 fmt:yuv420p flags:0x4
[libx264 @ 0x923a560] using SAR=4/3
[libx264 @ 0x923a560] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
[libx264 @ 0x923a560] profile Main, level 1.3
Output #0, rtp, to 'http://localhost:8090/feed1.ffm':
Metadata:
encoder : Lavf53.21.1
Stream #0.0: Video: libx264, yuv420p, 320x240 [PAR 4:3 DAR 16:9], q=-1--1, 200 kb/s, 90k tbn, 25 tbc
Metadata:
variant_bitrate : 831114
Stream mapping:
Stream #0.1 -> #0.0
Could not write header for output file #0 (incorrect codec parameters ?)Kind Regards
DevPM