
Recherche avancée
Autres articles (43)
-
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 -
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 (...) -
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 (...)
Sur d’autres sites (8415)
-
ffmpeg video unable to play properly in most video players
7 septembre 2022, par LarsI'm trying to set up a node.js app that allows me to download files from a web interface.
I'm using
yt-dl
to get the video and audio stream andffmpeg
to pipe those streams into an mp4. This works and returns a mp4 file.

Now the only issue I have is that when I play the file through most video players, the video player is unable to seek, or skip through the song. I found somewhere deep down on a forum that means that that means the mp4 headers are not working but that is all I could find.
Here is my code, almost unchanged from this response on another thread.


Can anyone provide a solution for this issue.


ytdl.getInfo(link, options).then(info => {
 audioStream = ytdl.downloadFromInfo(info, { ...options, quality: 'highestaudio' });
 videoStream = ytdl.downloadFromInfo(info, { ...options, quality: 'highestvideo' });
 // create the ffmpeg process for muxing
 ffmpegProcess = cp.spawn(ffmpegPath, [
 // supress non-crucial messages
 '-loglevel', '8', '-hide_banner',
 // input audio and video by pipe
 '-i', 'pipe:3', '-i', 'pipe:4',
 // map audio and video correspondingly
 '-map', '0:a', '-map', '1:v',
 // no need to change the codec
 '-c', 'copy',
 // output mp4 and pipe
 '-f', 'matroska', 'pipe:5'
 ], {
 // no popup window for Windows users
 windowsHide: true,
 stdio: [
 // silence stdin/out, forward stderr,
 'inherit', 'inherit', 'inherit',
 // and pipe audio, video, output
 'pipe', 'pipe', 'pipe'
 ]
 });
 audioStream.pipe(ffmpegProcess.stdio[3]);
 videoStream.pipe(ffmpegProcess.stdio[4]);
 ffmpegProcess.stdio[5].pipe(result);
 });



-
How to covert video and extract frame from video using FFMPEG in single command
13 juillet 2013, par kheyaI am trying to convert and extract image frame from a video file in single command
I can do this in 2 steps but I want to use pipe like technique to do thisThis is what I have :
for %%a in ("*.avi") do ffmpeg -i "%%a" -c:v libx264 -preset slow -crf 20 -c:a libvo_aacenc -b:a 128k "%%~na.mp4"
<— converts correctlyI need to incorporate this extract command :
ffmpeg -i inputfile.avi -r 1 -t 4 image-%d.jpeg
Merging two commands giving error.
How do I do it ?
EDIT :
This is what I have. But it just converts the video, no jpg image created as second outputfor %%a in ("*.avi") do ffmpeg -i "%%a" -c:v libx264 -preset slow -crf 20 -c:a libvo_aacenc -b:a 128k "%%~na.mp4" | ffmpeg -r 1 -s 4cif "%%~na.jpeg"
-
ffmpeg encoding a video with time_base Not equal to framerate does not work in HML5 video players
1er juillet 2019, par Gilgamesh22I have a time_base of 90000 with a frame rate of 30. I can generate a h264 video and have it work in VLC but this video does not work in the browser player. If I change the time_base to 30 It works fine.
Note : I am changing the frame->pts appropriately to match the time_base.
Note : Video does not have audio stream//header.h
AVCodecContext *cctx;
AVStream* stream;Here is the non working example code
//source.cpp
stream->time_base = { 1, 90000 };
stream->r_frame_rate = { fps, 1 };
stream->avg_frame_rate = { fps, 1 };
cctx->codec_id = codecId;
cctx->time_base = { 1 , 90000 };
cctx->framerate = { fps, 1 };
// ......
// add frame code later on timestamp are in millisecond
frame->pts = (timestamp - startTimeStamp)* 90;Here is the working example code
//source.cpp
stream->time_base = { 1, fps};
stream->r_frame_rate = { fps, 1 };
stream->avg_frame_rate = { fps, 1 };
cctx->codec_id = codecId;
cctx->time_base = { 1 , fps};
cctx->framerate = { fps, 1 };
// ......
// add frame code timestamp are in millisecond
frame->pts = (timestamp - startTimeStamp)/(1000/fps);Any ideas on why the second example works and the first does not in the HTML5 video player.