--- a/buildout.cfg Fri Dec 04 16:37:02 2015 +0100
+++ b/buildout.cfg Fri Dec 04 16:37:21 2015 +0100
@@ -68,4 +68,4 @@
eggs = pyams_media [test]
[versions]
-pyams_media = 0.1.0
+pyams_media = 0.1.2
--- a/docs/HISTORY.txt Fri Dec 04 16:37:02 2015 +0100
+++ b/docs/HISTORY.txt Fri Dec 04 16:37:21 2015 +0100
@@ -1,6 +1,35 @@
History
=======
+0.1.2
+-----
+ - improved errors handling
+ - added link in medias conversions status form to download generated videos
+ - added command line annotation in generated medias
+ - added video conversion options
+
+0.1.1.1
+-------
+ - updated medias conversion utility edit form
+
+0.1.1
+-----
+ - added download links in medias conversion dashboard
+ - added audio and video bitrates in videos converter
+ - updated libAV conversion options
+
+0.1.0.3
+-------
+ - corrected "MediasConversions.get_conversion_width" method
+
+0.1.0.2
+-------
+ - switch completely to libAV tools commands ("avconv" and "avprobe")
+
+0.1.0.1
+-------
+ - small compatibility change in "ffprobe/avprobe" command arguments
+
0.1.0
-----
- First release
--- a/docs/README.txt Fri Dec 04 16:37:02 2015 +0100
+++ b/docs/README.txt Fri Dec 04 16:37:21 2015 +0100
@@ -7,7 +7,7 @@
pyams_media is a Pyramid/PyAMS extension package used to automatically convert and
display medias, actually audio and video files.
-Medias conversion is based on FFmpeg binary, which must be available on the web server.
+Medias conversion is based on libAV tools, which must be available on the web server.
Medias conversions
@@ -15,7 +15,7 @@
Medias conversion implies several pre-requisites:
- - the ''ffmpeg'' executable must be available in your path;
+ - the ''avconv'' and ''avprobe'' executables must be available in your path;
- you have to rely a ZEO connection handling a blobs cache directory;
@@ -34,7 +34,7 @@
pyams_media.tcp_handler = 127.0.0.1:5556
PyAMS control panel allows you to define several conversion settings, for example to define which audio and video
-formats should be available, as well as a few FFmpeg conversion settings (frame size, bitrate, sampling...).
+formats should be available, as well as a few libAV conversion settings (frame size, bitrate, sampling...).
Conversion is launched automatically in the background as soon as a media file is added to any content. Converted
medias are stored in the ZODB as blob files in the original media file annotations.
--- a/setup.py Fri Dec 04 16:37:02 2015 +0100
+++ b/setup.py Fri Dec 04 16:37:21 2015 +0100
@@ -22,7 +22,7 @@
README = os.path.join(DOCS, 'README.txt')
HISTORY = os.path.join(DOCS, 'HISTORY.txt')
-version = '0.1.0'
+version = '0.1.2'
long_description = open(README).read() + '\n\n' + open(HISTORY).read()
tests_require = []
Binary file src/pyams_media/locales/fr/LC_MESSAGES/pyams_media.mo has changed
--- a/src/pyams_media/locales/fr/LC_MESSAGES/pyams_media.po Fri Dec 04 16:37:02 2015 +0100
+++ b/src/pyams_media/locales/fr/LC_MESSAGES/pyams_media.po Fri Dec 04 16:37:21 2015 +0100
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2015-09-08 18:12+0200\n"
+"POT-Creation-Date: 2015-12-02 17:33+0100\n"
"PO-Revision-Date: 2015-08-28 13:59+0200\n"
"Last-Translator: Thierry Florac <tflorac@ulthar.net>\n"
"Language-Team: French\n"
@@ -28,63 +28,63 @@
msgid "OGG audio converter"
msgstr "Conversion audio OGG"
-#: src/pyams_media/converter.py:178
+#: src/pyams_media/converter.py:180
msgid "FLV (Flash Video) video converter"
msgstr "Conversion vidéo FLV (Flash)"
-#: src/pyams_media/converter.py:194
+#: src/pyams_media/converter.py:196
msgid "MP4 (HTML5) video converter"
msgstr "Conversion vidéo MP4 (HTML5)"
-#: src/pyams_media/converter.py:213
+#: src/pyams_media/converter.py:216
msgid "OGG video converter"
msgstr "Conversion vidéo OGG"
-#: src/pyams_media/converter.py:221
+#: src/pyams_media/converter.py:224
msgid "WebM video converter"
msgstr "Conversion vidéo WebM"
-#: src/pyams_media/zmi/media.py:51
+#: src/pyams_media/zmi/media.py:49
msgid "Video conversions..."
msgstr "Conversions vidéos..."
-#: src/pyams_media/zmi/media.py:62
+#: src/pyams_media/zmi/media.py:60
msgid "Selected video conversions"
msgstr "Conversions vidéo du média"
-#: src/pyams_media/zmi/media.py:114
+#: src/pyams_media/zmi/media.py:118
msgid "Audio conversions..."
msgstr "Conversions audio..."
-#: src/pyams_media/zmi/media.py:125
+#: src/pyams_media/zmi/media.py:129
msgid "Selected audio conversions"
msgstr "Conversions audio du média"
-#: src/pyams_media/zmi/__init__.py:51
+#: src/pyams_media/zmi/__init__.py:53
msgid "Update medias converter properties"
msgstr "Modifier les propriétés du convertisseur de médias"
-#: src/pyams_media/zmi/__init__.py:68
+#: src/pyams_media/zmi/__init__.py:70
msgid "Video conversion"
msgstr "Conversion vidéo"
-#: src/pyams_media/zmi/__init__.py:85
+#: src/pyams_media/zmi/__init__.py:87
msgid "Audio conversion"
msgstr "Conversion audio"
-#: src/pyams_media/zmi/__init__.py:105
+#: src/pyams_media/zmi/__init__.py:107
msgid "Test process connection..."
msgstr "Tester la connexion..."
-#: src/pyams_media/zmi/__init__.py:128
+#: src/pyams_media/zmi/__init__.py:130
msgid "Test medias converter process connection"
msgstr "Tester la connexion au processus de conversion"
-#: src/pyams_media/zmi/__init__.py:115 src/pyams_media/zmi/video.py:71
+#: src/pyams_media/zmi/__init__.py:117 src/pyams_media/zmi/video.py:71
msgid "Close"
msgstr "Fermer"
-#: src/pyams_media/zmi/__init__.py:116
+#: src/pyams_media/zmi/__init__.py:118
msgid "Test connection"
msgstr "Tester la connexion"
@@ -125,23 +125,23 @@
msgid "An error occurred. No created thumbnail."
msgstr "Une erreur est intervenue. L'illustration n'a pas pu être générée."
-#: src/pyams_media/zmi/templates/audio-conversions.pt:10
+#: src/pyams_media/zmi/templates/audio-conversions.pt:5
msgid "Status"
msgstr "Statut"
-#: src/pyams_media/zmi/templates/audio-conversions.pt:25
-#: src/pyams_media/zmi/templates/video-conversions.pt:39
-#: src/pyams_media/zmi/templates/video-conversions.pt:56
+#: src/pyams_media/zmi/templates/audio-conversions.pt:15
+#: src/pyams_media/zmi/templates/video-conversions.pt:26
+#: src/pyams_media/zmi/templates/video-conversions.pt:43
msgid "OK"
msgstr "OK"
-#: src/pyams_media/zmi/templates/audio-conversions.pt:28
-#: src/pyams_media/zmi/templates/video-conversions.pt:42
-#: src/pyams_media/zmi/templates/video-conversions.pt:59
+#: src/pyams_media/zmi/templates/audio-conversions.pt:17
+#: src/pyams_media/zmi/templates/video-conversions.pt:30
+#: src/pyams_media/zmi/templates/video-conversions.pt:47
msgid "Waiting..."
msgstr "En attente..."
-#: src/pyams_media/zmi/templates/video-conversions.pt:10
+#: src/pyams_media/zmi/templates/video-conversions.pt:6
msgid "Original size"
msgstr "Taille d'origine"
@@ -153,65 +153,75 @@
msgid "Name of ZEO connection utility defining converter connection"
msgstr "Nom de la connexion ZEO utilisée par le processus de conversion"
-#: src/pyams_media/interfaces/__init__.py:172
+#: src/pyams_media/interfaces/__init__.py:173
msgid "Video formats conversions"
msgstr "Formats de conversion vidéo"
-#: src/pyams_media/interfaces/__init__.py:173
+#: src/pyams_media/interfaces/__init__.py:174
msgid "Published video files will be automatically converted to this format"
msgstr "Les vidéos publiées seront automatiquement converties dans ces formats"
-#: src/pyams_media/interfaces/__init__.py:177
+#: src/pyams_media/interfaces/__init__.py:178
msgid "Video frames size"
msgstr "Taille de l'image"
-#: src/pyams_media/interfaces/__init__.py:178
+#: src/pyams_media/interfaces/__init__.py:179
msgid "Leave empty to keep original frame size..."
msgstr "Indiquez ici les différentes résolutions qui seront générées..."
-#: src/pyams_media/interfaces/__init__.py:182
+#: src/pyams_media/interfaces/__init__.py:183
+msgid "Video bitrate"
+msgstr "Débit vidéo"
+
+#: src/pyams_media/interfaces/__init__.py:184
+msgid "In kilo-bytes per second. Leave empty to keep original value"
+msgstr ""
+"En kilo-octets par seconde. Laissez cette zone vide pour garder la valeur du "
+"média d'origine."
+
+#: src/pyams_media/interfaces/__init__.py:187
+msgid "Video quantisation scale"
+msgstr "Quantification vidéo"
+
+#: src/pyams_media/interfaces/__init__.py:188
+msgid "Lower value indicates higher quality"
+msgstr "Une valeur faible indique une qualité plus élevée"
+
+#: src/pyams_media/interfaces/__init__.py:192
msgid "Video audio frequency"
msgstr "Fréquence audio"
-#: src/pyams_media/interfaces/__init__.py:183
-#: src/pyams_media/interfaces/__init__.py:201
+#: src/pyams_media/interfaces/__init__.py:193
+#: src/pyams_media/interfaces/__init__.py:207
msgid "A common value is 22050. Leave empty to keep original value."
msgstr ""
"Une valeur courante est 22050. Laissez cette zone vide pour garder la valeur "
"du média d'origine."
-#: src/pyams_media/interfaces/__init__.py:186
+#: src/pyams_media/interfaces/__init__.py:196
msgid "Video audio bitrate"
-msgstr "Débit vidéo"
+msgstr "Débit audio"
-#: src/pyams_media/interfaces/__init__.py:187
-#: src/pyams_media/interfaces/__init__.py:205
+#: src/pyams_media/interfaces/__init__.py:197
+#: src/pyams_media/interfaces/__init__.py:211
msgid "In kilo-bytes per second. Leave empty to keep original value."
msgstr ""
"En kilo-octets par seconde. Laissez cette zone vide pour garder la valeur du "
"média d'origine."
-#: src/pyams_media/interfaces/__init__.py:190
-msgid "Video quantisation scale"
-msgstr "Quantification vidéo"
-
-#: src/pyams_media/interfaces/__init__.py:191
-msgid "Lower value indicates higher quality"
-msgstr "Une valeur faible indique une qualité plus élevée"
-
-#: src/pyams_media/interfaces/__init__.py:195
+#: src/pyams_media/interfaces/__init__.py:201
msgid "Audio formats conversions"
msgstr "Formats de conversion audio"
-#: src/pyams_media/interfaces/__init__.py:196
+#: src/pyams_media/interfaces/__init__.py:202
msgid "Published audio files will be automatically converted to this format"
msgstr ""
"Les fichiers audios publiés seront automatiquement convertis dans ces formats"
-#: src/pyams_media/interfaces/__init__.py:200
+#: src/pyams_media/interfaces/__init__.py:206
msgid "Audio frequency"
msgstr "Fréquence audio"
-#: src/pyams_media/interfaces/__init__.py:204
+#: src/pyams_media/interfaces/__init__.py:210
msgid "Audio bitrate"
msgstr "Débit audio"
--- a/src/pyams_media/locales/pyams_media.pot Fri Dec 04 16:37:02 2015 +0100
+++ b/src/pyams_media/locales/pyams_media.pot Fri Dec 04 16:37:21 2015 +0100
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2015-09-08 18:12+0200\n"
+"POT-Creation-Date: 2015-12-02 17:33+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -14,7 +14,7 @@
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Lingua 3.8\n"
+"Generated-By: Lingua 3.10.dev0\n"
#: ./src/pyams_media/converter.py:103
msgid "WAV audio converter"
@@ -28,63 +28,63 @@
msgid "OGG audio converter"
msgstr ""
-#: ./src/pyams_media/converter.py:178
+#: ./src/pyams_media/converter.py:180
msgid "FLV (Flash Video) video converter"
msgstr ""
-#: ./src/pyams_media/converter.py:194
+#: ./src/pyams_media/converter.py:196
msgid "MP4 (HTML5) video converter"
msgstr ""
-#: ./src/pyams_media/converter.py:213
+#: ./src/pyams_media/converter.py:216
msgid "OGG video converter"
msgstr ""
-#: ./src/pyams_media/converter.py:221
+#: ./src/pyams_media/converter.py:224
msgid "WebM video converter"
msgstr ""
-#: ./src/pyams_media/zmi/media.py:51
+#: ./src/pyams_media/zmi/media.py:49
msgid "Video conversions..."
msgstr ""
-#: ./src/pyams_media/zmi/media.py:62
+#: ./src/pyams_media/zmi/media.py:60
msgid "Selected video conversions"
msgstr ""
-#: ./src/pyams_media/zmi/media.py:114
+#: ./src/pyams_media/zmi/media.py:118
msgid "Audio conversions..."
msgstr ""
-#: ./src/pyams_media/zmi/media.py:125
+#: ./src/pyams_media/zmi/media.py:129
msgid "Selected audio conversions"
msgstr ""
-#: ./src/pyams_media/zmi/__init__.py:51
+#: ./src/pyams_media/zmi/__init__.py:53
msgid "Update medias converter properties"
msgstr ""
-#: ./src/pyams_media/zmi/__init__.py:68
+#: ./src/pyams_media/zmi/__init__.py:70
msgid "Video conversion"
msgstr ""
-#: ./src/pyams_media/zmi/__init__.py:85
+#: ./src/pyams_media/zmi/__init__.py:87
msgid "Audio conversion"
msgstr ""
-#: ./src/pyams_media/zmi/__init__.py:105
+#: ./src/pyams_media/zmi/__init__.py:107
msgid "Test process connection..."
msgstr ""
-#: ./src/pyams_media/zmi/__init__.py:128
+#: ./src/pyams_media/zmi/__init__.py:130
msgid "Test medias converter process connection"
msgstr ""
-#: ./src/pyams_media/zmi/__init__.py:115 ./src/pyams_media/zmi/video.py:71
+#: ./src/pyams_media/zmi/__init__.py:117 ./src/pyams_media/zmi/video.py:71
msgid "Close"
msgstr ""
-#: ./src/pyams_media/zmi/__init__.py:116
+#: ./src/pyams_media/zmi/__init__.py:118
msgid "Test connection"
msgstr ""
@@ -120,23 +120,23 @@
msgid "An error occurred. No created thumbnail."
msgstr ""
-#: ./src/pyams_media/zmi/templates/audio-conversions.pt:10
+#: ./src/pyams_media/zmi/templates/audio-conversions.pt:5
msgid "Status"
msgstr ""
-#: ./src/pyams_media/zmi/templates/audio-conversions.pt:25
-#: ./src/pyams_media/zmi/templates/video-conversions.pt:39
-#: ./src/pyams_media/zmi/templates/video-conversions.pt:56
+#: ./src/pyams_media/zmi/templates/audio-conversions.pt:15
+#: ./src/pyams_media/zmi/templates/video-conversions.pt:26
+#: ./src/pyams_media/zmi/templates/video-conversions.pt:43
msgid "OK"
msgstr ""
-#: ./src/pyams_media/zmi/templates/audio-conversions.pt:28
-#: ./src/pyams_media/zmi/templates/video-conversions.pt:42
-#: ./src/pyams_media/zmi/templates/video-conversions.pt:59
+#: ./src/pyams_media/zmi/templates/audio-conversions.pt:17
+#: ./src/pyams_media/zmi/templates/video-conversions.pt:30
+#: ./src/pyams_media/zmi/templates/video-conversions.pt:47
msgid "Waiting..."
msgstr ""
-#: ./src/pyams_media/zmi/templates/video-conversions.pt:10
+#: ./src/pyams_media/zmi/templates/video-conversions.pt:6
msgid "Original size"
msgstr ""
@@ -148,60 +148,68 @@
msgid "Name of ZEO connection utility defining converter connection"
msgstr ""
-#: ./src/pyams_media/interfaces/__init__.py:172
+#: ./src/pyams_media/interfaces/__init__.py:173
msgid "Video formats conversions"
msgstr ""
-#: ./src/pyams_media/interfaces/__init__.py:173
+#: ./src/pyams_media/interfaces/__init__.py:174
msgid "Published video files will be automatically converted to this format"
msgstr ""
-#: ./src/pyams_media/interfaces/__init__.py:177
-msgid "Video frames size"
-msgstr ""
-
#: ./src/pyams_media/interfaces/__init__.py:178
+msgid "Video frames size"
+msgstr ""
+
+#: ./src/pyams_media/interfaces/__init__.py:179
msgid "Leave empty to keep original frame size..."
msgstr ""
-#: ./src/pyams_media/interfaces/__init__.py:182
+#: ./src/pyams_media/interfaces/__init__.py:183
+msgid "Video bitrate"
+msgstr ""
+
+#: ./src/pyams_media/interfaces/__init__.py:184
+msgid "In kilo-bytes per second. Leave empty to keep original value"
+msgstr ""
+
+#: ./src/pyams_media/interfaces/__init__.py:187
+msgid "Video quantisation scale"
+msgstr ""
+
+#: ./src/pyams_media/interfaces/__init__.py:188
+msgid "Lower value indicates higher quality"
+msgstr ""
+
+#: ./src/pyams_media/interfaces/__init__.py:192
msgid "Video audio frequency"
msgstr ""
-#: ./src/pyams_media/interfaces/__init__.py:183
-#: ./src/pyams_media/interfaces/__init__.py:201
+#: ./src/pyams_media/interfaces/__init__.py:193
+#: ./src/pyams_media/interfaces/__init__.py:207
msgid "A common value is 22050. Leave empty to keep original value."
msgstr ""
-#: ./src/pyams_media/interfaces/__init__.py:186
+#: ./src/pyams_media/interfaces/__init__.py:196
msgid "Video audio bitrate"
msgstr ""
-#: ./src/pyams_media/interfaces/__init__.py:187
-#: ./src/pyams_media/interfaces/__init__.py:205
+#: ./src/pyams_media/interfaces/__init__.py:197
+#: ./src/pyams_media/interfaces/__init__.py:211
msgid "In kilo-bytes per second. Leave empty to keep original value."
msgstr ""
-#: ./src/pyams_media/interfaces/__init__.py:190
-msgid "Video quantisation scale"
-msgstr ""
-
-#: ./src/pyams_media/interfaces/__init__.py:191
-msgid "Lower value indicates higher quality"
-msgstr ""
-
-#: ./src/pyams_media/interfaces/__init__.py:195
+#: ./src/pyams_media/interfaces/__init__.py:201
msgid "Audio formats conversions"
msgstr ""
-#: ./src/pyams_media/interfaces/__init__.py:196
+#: ./src/pyams_media/interfaces/__init__.py:202
msgid "Published audio files will be automatically converted to this format"
msgstr ""
-#: ./src/pyams_media/interfaces/__init__.py:200
+#: ./src/pyams_media/interfaces/__init__.py:206
msgid "Audio frequency"
msgstr ""
-#: ./src/pyams_media/interfaces/__init__.py:204
+#: ./src/pyams_media/interfaces/__init__.py:210
msgid "Audio bitrate"
msgstr ""