
Recherche avancée
Médias (1)
-
The pirate bay depuis la Belgique
1er avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (71)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...) -
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 (...)
Sur d’autres sites (13234)
-
Can't share few FFMPEG encoded videos on WhatsApp
2 juin 2019, par t6nandI am using FFMPEG to stitch a video to another video. However, I have observed that few of these videos are not being shared on WhatsApp with the message "Can’t send this video. Choose a different video and try again".
I am using the following command for stitching :
ffmpeg -y -i <input1> -i
<input2> -filter_complex "color=black:input1Width x input1Height:d=(input1time + input2time -1)[base]
;[0:v]setpts=PTS-STARTPTS[v0];[1:v] scale = iw * min(input1Width / iw\\, input1Height / ih):ih * min(input1Width/iw\\,input1Height/ih),
pad=input1Width:input1Height:(input1Width-iw*min(input1Width/iw\\,input1Height/ih))/2:(input1Height -
ih*min(input1Width/iw\\,input1Height/ih))/2,setsar=1:1,format=yuva420p,fade=in:st=0:d=1.0:alpha=1,
setpts=PTS-STARTPTS+((input1Time - 1)/TB)[v1];[base][v0]overlay[tmp]; [tmp][v1]overlay,format=yuv420p[fv];
[0:a][1:a]acrossfade=d=1[fa]" -map [fv] -map [fa] -crf 23 -c:v libx264 -b:v 300K
-preset slow outputvideo.mp4
</input2></input1>Here : input1Width - Input 1 Video’s width, input1Height - Input 2 Video’s height.
Interestingly running this command directly on terminal produces a file which plays correctly on media players and I am able to share it across platforms including WhatsApp.
However, the same command when triggered from a java code produces a similar file in terms of size, bit rate (near about same as produced when directly executed). I am running the same command from java using ProcessBuilder like :
ProcessBulider stitchVideoCommandArray = new ProcessBuilder(
"ffmpeg", "-y",
"-i", <input1>,
"-i", <input2>,
"-filter_complex", "color=black:" + String.valueOf(width) + "x" + String.valueOf(height) + ":d=" +
String.valueOf(originalVideoTime + ASSET_VIDEOSTREAM_DURATION - CROSS_FADE_TIME_DURATION) + "[base];" +
"[0:v]setpts=PTS-STARTPTS[v0];[1:v]scale=iw*" + String.valueOf(minMultiplicable) + ":ih*" + String.valueOf(minMultiplicable) +
",pad=" + String.valueOf(width) + ":" + String.valueOf(height) + ":(" + String.valueOf(width) + "-iw*" + String.valueOf(minMultiplicable) + "/2" +
"):(" + String.valueOf(height) + "-ih*" + String.valueOf(minMultiplicable) + "/2)" + ",fade=in" +
":st=0:d=" + String.valueOf(CROSS_FADE_TIME_DURATION) + ":alpha=1,setpts=PTS-STARTPTS+((" + String.valueOf(originalVideoTime - CROSS_FADE_TIME_DURATION) +
")/TB)[v1];[base][v0]overlay[tmp];[tmp][v1]overlay,format=yuv420p[fv];[0:a][1:a]acrossfade=d=1[fa]",
"-map", "[fv]",
"-map", "[fa]",
"-c:v", MP4Transcode.MP4VideoStreamEncoder.H264.videoEncoders,
"-b:v", "300K",
"-c:a", MP4Transcode.MP4AudioStreamEncoders.AAC.audioEncoders,
"-b:a", "128K",
"-crf", String.valueOf(constantRateFactor),
"-preset", presetRequired,
outputVideoPath
);
</input2></input1>I then use this object to execute the command using
command.start()
and waiting for exitvalue using
command.waitFor()
This also produces a file which I am able to play correctly on media players but was not successful in sharing the video on WhatsApp.
Also, the file produced by executing FFmpeg commands as mentioned above from java produces media files with their loudness slightly increased.
I am not able to figue out if it’s video specific issue or something else. It only happens to few random videos.
Here are the links to videos with the problem :
input 1 - input1Link
input 2 - inpt2LinkEDIT 1 :
To add, adding-loglevel debug
in java command takes forever and I haven’t seen it yet responding for even 5-6 minutes. However, using it directly from terminal returns quickly after processing. -
Displaying the current frame of a video after skipping using drawtext/start_number not evaluation any variables
30 mars 2017, par DJ QuardaboffI would like to display the current frame number on a video while playing it with ffplay. I have already seen this solution, but when I seek to any part of the video, the counter resets. There’s a variable,
start_number
, which the ffplay documentation says isThe starting frame number for the n/frame_num variable. The default value is "0".
It seems that n is set to that when starting the video or seeking between I-frames. I thought setting this variable to%{floor(t*60)}
would solve my problem, but after running this :ffplay -i "video.mp4" -vf drawtext="fontsize=30:box=1:boxcolor=white:fontcolor=black:fontfile=/Windows/Fonts/arial.ttf:start_number=floor(t*60):text=%{n}"
I got the following console output :
ffplay version N-84679-gd65b595 Copyright (c) 2003-2017 the FFmpeg developers
built with gcc 6.3.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zlib
libavutil 55. 51.100 / 55. 51.100
libavcodec 57. 86.103 / 57. 86.103
libavformat 57. 67.100 / 57. 67.100
libavdevice 57. 3.101 / 57. 3.101
libavfilter 6. 78.100 / 6. 78.100
libswscale 4. 3.101 / 4. 3.101
libswresample 2. 4.100 / 2. 4.100
libpostproc 54. 2.100 / 54. 2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':= 0B f=0/0
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
creation_time : 2017-03-30T02:49:20.000000Z
encoder : Open Broadcaster Software v0.659b
Duration: 00:05:36.85, start: 0.000000, bitrate: 72636 kb/s
Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 162 kb/s (default)
Metadata:
creation_time : 2017-03-30T02:49:20.000000Z
handler_name : Sound Media Handler
Stream #0:1(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709/bt709/iec61966-2-1), 2560x1440, 72465 kb/s, 60 fps, 60 tbr, 1k tbn, 120 tbc (default)
Metadata:
creation_time : 2017-03-30T02:49:20.000000Z
handler_name : Video Media Handler
encoder : AVC Coding
[drawtext @ 00000000122770e0] [Eval @ 0000000008f3eb60] Undefined constant or missing '(' in 't*60)'
[drawtext @ 00000000122770e0] Unable to parse option value "floor(t*60)"
[drawtext @ 00000000122770e0] [Eval @ 0000000008f3ebd0] Undefined constant or missing '(' in 't*60)'
[drawtext @ 00000000122770e0] Unable to parse option value "floor(t*60)"
[drawtext @ 00000000122770e0] Error setting option start_number to value floor(t*60).
[Parsed_drawtext_0 @ 000000000263eca0] Error applying options to the filter.
Error initializing filter 'drawtext' with args 'fontsize=30:box=1:boxcolor=white:fontcolor=black:fontfile=/Windows/Fonts/arial.ttf:start_number=floor(t*60):text=%{n}'
0.01 A-V: nan fd= 0 aq= 22KB vq= 5866KB sq= 0B f=0/0In fact, any variable in
start_number
’s assignment invokes this error. I don’t know if I have the correct syntax, but does this mean it doesn’t evaluate expressions ? Or maybe it doesn’t accept variables for some reason ?After that downer I tried just setting the text to
%{t}
, which played the video, but repeatedly gave this error and had no text in the top left corner :[Parsed_drawtext_0 @ 0000000003e54ea0] %{t} is not known 0B f=0/0
So does the current time variable just not work in drawtext ?
Is there another way to write the current frame on the video or even on the console window ?Using Windows 10 Enterprise and the latest build of ffplay for windows at this time.
-
Displaying the current frame of a video after skipping using drawtext/start_number not evaluation any variables
25 mars 2023, par DJ QuardaboffI would like to display the current frame number on a video while playing it with ffplay. I have already seen this solution, but when I seek to any part of the video, the counter resets. There's a variable,
start_number
, which the ffplay documentation says isThe starting frame number for the n/frame_num variable. The default value is "0".
It seems that n is set to that when starting the video or seeking between I-frames. I thought setting this variable to%{floor(t*60)}
would solve my problem, but after running this :


ffplay -i "video.mp4" -vf drawtext="fontsize=30:box=1:boxcolor=white:fontcolor=black:fontfile=/Windows/Fonts/arial.ttf:start_number=floor(t*60):text=%{n}"




I got the following console output :



ffplay version N-84679-gd65b595 Copyright (c) 2003-2017 the FFmpeg developers
 built with gcc 6.3.0 (GCC)
 configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zlib
 libavutil 55. 51.100 / 55. 51.100
 libavcodec 57. 86.103 / 57. 86.103
 libavformat 57. 67.100 / 57. 67.100
 libavdevice 57. 3.101 / 57. 3.101
 libavfilter 6. 78.100 / 6. 78.100
 libswscale 4. 3.101 / 4. 3.101
 libswresample 2. 4.100 / 2. 4.100
 libpostproc 54. 2.100 / 54. 2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':= 0B f=0/0
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 creation_time : 2017-03-30T02:49:20.000000Z
 encoder : Open Broadcaster Software v0.659b
 Duration: 00:05:36.85, start: 0.000000, bitrate: 72636 kb/s
 Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 162 kb/s (default)
 Metadata:
 creation_time : 2017-03-30T02:49:20.000000Z
 handler_name : Sound Media Handler
Stream #0:1(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709/bt709/iec61966-2-1), 2560x1440, 72465 kb/s, 60 fps, 60 tbr, 1k tbn, 120 tbc (default)
Metadata:
 creation_time : 2017-03-30T02:49:20.000000Z
 handler_name : Video Media Handler
 encoder : AVC Coding
[drawtext @ 00000000122770e0] [Eval @ 0000000008f3eb60] Undefined constant or missing '(' in 't*60)'
[drawtext @ 00000000122770e0] Unable to parse option value "floor(t*60)"
[drawtext @ 00000000122770e0] [Eval @ 0000000008f3ebd0] Undefined constant or missing '(' in 't*60)'
[drawtext @ 00000000122770e0] Unable to parse option value "floor(t*60)"
[drawtext @ 00000000122770e0] Error setting option start_number to value floor(t*60).
[Parsed_drawtext_0 @ 000000000263eca0] Error applying options to the filter.
Error initializing filter 'drawtext' with args 'fontsize=30:box=1:boxcolor=white:fontcolor=black:fontfile=/Windows/Fonts/arial.ttf:start_number=floor(t*60):text=%{n}'
 0.01 A-V: nan fd= 0 aq= 22KB vq= 5866KB sq= 0B f=0/0




In fact, any variable in
start_number
's assignment invokes this error. I don't know if I have the correct syntax, but does this mean it doesn't evaluate expressions ? Or maybe it doesn't accept variables for some reason ?


After that downer I tried just setting the text to
%{t}
, which played the video, but repeatedly gave this error and had no text in the top left corner :


[Parsed_drawtext_0 @ 0000000003e54ea0] %{t} is not known 0B f=0/0




So does the current time variable just not work in drawtext ?

Is there another way to write the current frame on the video or even on the console window ?


Using Windows 10 Enterprise and the latest build of ffplay for windows at this time.