
Recherche avancée
Médias (1)
-
MediaSPIP Simple : futur thème graphique par défaut ?
26 septembre 2013, par
Mis à jour : Octobre 2013
Langue : français
Type : Video
Autres articles (47)
-
Ajouter notes et légendes aux images
7 février 2011, parPour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
Modification lors de l’ajout d’un média
Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...) -
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 is the first MediaSPIP stable release.
Its official release date is June 21, 2013 and is announced here.
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)
Sur d’autres sites (8391)
-
Having audio sync issues after concatenating several mp4 with and without sound
19 décembre 2019, par CYRUSI’m posting today because I have a problem when I use ffmpeg. I have a small program that creates mp4 files for me, often with sounds and sometimes without, until now I used ffmpeg to concatenate them.
But I just realized that if I have an mp4 file that doesn’t contain audio then the whole audio track of the final file goes out of sync. This only happens when I have some mp4 files that don’t have audio. I think it’s also useful to know that the program I’m using gives me a lot of mp4 (>20) and I can’t know in advance which ones have audio or not...
Here is the code I use, I saw on the forum that the mp4 format was badly managed and that it was better to use ts format for concatenation that’s why I do this
for f in $(ls *.mp4); do
ffmpeg -i $f -c copy -bsf:v h264_mp4toannexb -f mpegts $f.ts
done
CONCAT=$(echo $(ls *.ts ) | sed -e "s/ /|/g")
ffmpeg -analyzeduration 2147483647 -probesize 2147483647 -i "concat:$CONCAT" -c copy output.ts
ffmpeg -analyzeduration 2147483647 -probesize 2147483647 -i output.ts -acodec copy -vcodec copy output.mp4I noticed that when the final file goes out of sync this error appears :
Input #0, mpegts, from 'concat:video0.mp4.ts|video01.mp4.ts|video012.mp4.ts|video0123.mp4.ts|video01234.mp4.ts|video012345.mp4.ts|video0123456.mp4.ts|video01234567.mp4.ts|video012345678.mp4.ts|video0123456789.mp4.ts|video012345678910.mp4.ts|video01234567891011.mp4.ts|video0123456789101112.mp4.ts|video012345678910111213.mp4.ts|video01234567891011121314.mp4.ts|video0123456789101112131415.mp4.ts|video012345678910111213141516.mp4.ts|video01234567891011121314151617.mp4.ts|video0123456789101112131415161718.mp4.ts|video012345678910111213141516171819.mp4.ts|zzzz.mp4.ts':
Duration: 00:00:05.02, start: 1.420222, bitrate: 63089 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, progressive), 640x1136, 30 fps, 240 tbr, 90k tbn, 60 tbc
Stream #0:1[0x101](und): Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, mono, fltp, 145 kb/s
Output #0, mpegts, to 'output.ts':
Metadata:
encoder : Lavf58.20.100
Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, progressive), 640x1136, q=2-31, 30 fps, 240 tbr, 90k tbn, 90k tbc
Stream #0:1(und): Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, mono, fltp, 145 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[mpegts @ 0x7f9c68800000] DTS 130180 < 573000 out of order <-- HERE
[mpegts @ 0x7f9c68800000] DTS 130180 < 654000 out of order <-- HERE
[mpegts @ 0x7f9c68800000] DTS 130180 < 1477180 out of order <-- HEREI’ve tried several different combinations of members answer on other topics but nothing worked for me.
I don’t know if the problem comes from the moment I convert .mp4 files to .ts and I forget to set appropriate codec, or if it comes from the concat command ?I’m almost sure that there is a simple way to fix this issue but unfortunately I don’t have enough ffmpeg knowledge.
Thanks for your help :)
EDIT 1 :
I changed the for loop of the programme to :
for f in $(ls *.mp4); do
TEST=$(ffprobe -i $f -show_streams -select_streams a -loglevel error)
if [ "$TEST" ]; then
ffmpeg -i $f -c copy -bsf:v h264_mp4toannexb -f mpegts $f.ts
fi
doneIt only makes the script to ignore the files that don’t have audio, but this way it works, so maybe adding dummy audio to those files could make the job as @Gyan suggested in the comments, but how to do that ?
EDIT 2 SOLVED
I found how to add dummy audio on my silent file, that solved my problem this is my final working for loop :
for f in $(ls *.mp4); do
TEST=$(ffprobe -i $f -show_streams -select_streams a -loglevel error)
if [ "$TEST" ]; then
ffmpeg -i $f -c copy -bsf:v h264_mp4toannexb -f mpegts $f.ts
else
ffmpeg -f lavfi -i anullsrc -i $f -shortest -c:v copy -c:a aac -map 0:a -map 1:v $f.a.ts
ffmpeg -i $f.a.ts -c copy -bsf:v h264_mp4toannexb -f mpegts $f.ts
rm $f.a.ts
fi
done -
Programming Language Levels
20 mai 2011, par Multimedia Mike — ProgrammingI’ve been doing this programming thing for some 20 years now. Things sure do change. One change I ponder from time to time is the matter of programming language levels. Allow me to explain.
The 1990s
When I first took computer classes in the early 1990s, my texts would classify computer languages into 3 categories, or levels. The lower the level, the closer to the hardware ; the higher the level, the more abstract (and presumably, easier to use). I recall that the levels went something like this :- High level : Pascal, BASIC, Logo, Fortran
- Medium level : C, Forth
- Low level : Assembly language
Keep in mind that these were the same texts which took the time to explain the history of computers from mainframes -> minicomputers -> a relatively recent phenomenon called microcomputers or "PCs".
Somewhere in the mid-late 1990s, when I was at university, I was introduced to a new tier :
- Very high level : Perl, shell scripting
I think there was some debate among my peers about whether C++ and Java were properly classified as high or very high level. The distinction between high and very high, in my observation, seemed to be that very high level languages had more complex data structures (at the very least, a hash / dictionary / associative array / key-value map) built into the language, as well as implicit memory management.
Modern Day
These days, the old hierarchy is apparently forgotten (much like minicomputers). I observe that there is generally a much simpler 2-tier classification :- Low level : C, assembly language
- High level : absolutely every other programming language in wide use today
I find myself wondering where C++ and Objective-C fit in this classification scheme. Then I remember that it doesn’t matter and this is all academic.
Relevancy
I think about this because I have pretty much stuck to low-level programming all of my life, mostly due to my interest in game and multimedia-type programming. But the trends in computing have favored many higher level languages and programming paradigms. I woke up one day and realized that the kind of work I often do — lower level stuff — is not very common.I’m not here to argue that low or high level is superior. You know I’m all about using the appropriate tool for the job. But I sometimes find myself caught between worlds, having the defend and explain one to the other.
- On one hand, it’s not unusual for the multitudes of programmers working at the high level to gasp and wonder why I or anyone else would ever use C or assembly language for anything when there are so many beautiful high level languages. I patiently explain that those languages have to be written in some other language (at first) and that they need to run on some operating system and that most assuredly won’t be written in a high level language. For further reading, I refer them to Joel Spolsky’s great essay called Back to Basics which describes why it can be useful to know at least a little bit about how the computer does what it does at the lowest levels.
- On the other hand, believe it or not, I sometimes have to defend the merits of high level languages to my low level brethren. I’ll often hear variations of, "Any program can be written in C. Using a high level language to achieve the same will create a slow and bloated solution." I try to explain that the trade-off in time to complete the programming task weighed against the often-negligible performance hit of what is often an I/O-bound operation in the first place makes it worthwhile to use the high level language for a wide variety of tasks.
Or I just ignore them. That’s actually the best strategy.
-
Discovering our premium on-premise features