
Recherche avancée
Médias (91)
-
Corona Radiata
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Lights in the Sky
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Head Down
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Echoplex
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Discipline
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Letting You
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (39)
-
Personnaliser les catégories
21 juin 2013, parFormulaire de création d’une catégorie
Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire.
Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...) -
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 (8881)
-
Data Privacy Issues to Be Aware of and How to Overcome Them
9 mai 2024, par Erin -
How to convert Lagarith .avi videos to MP4 using WinFF
24 avril 2014, par MoeinI have a bunch of .avi videos encoded with Lagarith codec. We would like to convert them in to a lossless .MP4 format so that they could be easily played on html. I want to keep video specifications remain the same if it’s possible and just convert the video to MP4.
I tried WinFF and also some manually written FFmpeg codes [without any specific reference to the Lagarith codec] but they all create a video which is not playable (neither with Windows Player nor with the HTML5 player). Also, FFmpeg returns exceptions like bellow.
Edit :
Here is the FFmpeg code generated by WinFF, this code gives me the following Exception :"C:\Program Files\WinFF\ffmpeg.exe" -y -i "C:\Desktop\Videos\input.avi" -f mp4 -r 29.97 -vcodec libx264 -preset slow -vf scale=640:480 -b:v 1000k -aspect 4:3 -flags +loop -cmp chroma -b:v 1250k -maxrate 1500k -bufsize 4M -bt 256k -refs 1 -bf 3 -coder 1 -me_method umh -me_range 16 -subq 7 -partitions +parti4x4+parti8x8+partp8x8+partb8x8 -g 250 -keyint_min 25 -level 30 -qmin 10 -qmax 51 -qcomp 0.6 -trellis 2 -sc_threshold 40 -i_qfactor 0.71 -acodec libvo_aacenc -b:a 112k -ar 48000 -ac 2 "C:\Desktop\Videos\output.mp4"
2nd Edit :
Here is the entire exception that I receive :C:\Users\Desktop\Videos>"c:\Program Files\ffmpeg\bin\ffmpeg.exe" -y -i 300
4_KDSmall-08_02_2013-11_43_34_415.avi -crf 26 -vcodec libx264 -pix_fmt yuv420p -
acodec libvo_aacenc -ac 1 -ar 16000 -b:a 32000 3004_KDSmall-08_02_2013-11_43_34_
415.mp4
ffmpeg version N-62439-g5e379cd Copyright (c) 2000-2014 the FFmpeg developers
built on Apr 13 2014 22:08:47 with gcc 4.8.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aa
cenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable
-zlib
libavutil 52. 76.100 / 52. 76.100
libavcodec 55. 58.103 / 55. 58.103
libavformat 55. 37.100 / 55. 37.100
libavdevice 55. 13.100 / 55. 13.100
libavfilter 4. 4.100 / 4. 4.100
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Input #0, avi, from '3004_KDSmall-08_02_2013-11_43_34_415.avi':
Duration: 00:15:00.00, start: 0.000000, bitrate: 328 kb/s
Stream #0:0: Video: lagarith (LAGS / 0x5347414C), rgb24, 320x244, 326 kb/s,
7.50 tbr, 7.50 tbn, 7.50 tbc
Codec AVOption b (set bitrate (in bits/s)) specified for output file #0 (3004_KD
Small-08_02_2013-11_43_34_415.mp4) has not been used for any stream. The most li
kely reason is either wrong type (e.g. a video option with no video streams) or
that it is a private option of some encoder which was not actually used for any
stream.
[libx264 @ 0000000004288320] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
AVX
[libx264 @ 0000000004288320] profile High, level 1.2
[libx264 @ 0000000004288320] 264 - core 142 r2409 d6b4e63 - H.264/MPEG-4 AVC cod
ec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 r
ef=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed
_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pski
p=1 chroma_qp_offset=-2 threads=12 lookahead_threads=1 sliced_threads=0 nr=0 dec
imate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b
_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=
7 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=26.0 qcomp=0.6
0 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to '3004_KDSmall-08_02_2013-11_43_34_415.mp4':
Metadata:
encoder : Lavf55.37.100
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 320x24
4, q=-1--1, 15360 tbn, 7.50 tbc
Stream mapping:
Stream #0:0 -> #0:0 (lagarith -> libx264)
Press [q] to stop, [?] for help
frame= 1024 fps=0.0 q=27.0 size= 17kB time=00:02:08.80 bitrate= 1.1kbits/
frame= 1947 fps=1943 q=27.0 size= 234kB time=00:04:11.86 bitrate= 7.6kbits
frame= 2695 fps=1794 q=27.0 size= 659kB time=00:05:51.60 bitrate= 15.4kbits
frame= 3971 fps=1983 q=27.0 size= 680kB time=00:08:41.73 bitrate= 10.7kbits
frame= 5256 fps=2101 q=27.0 size= 702kB time=00:11:33.06 bitrate= 8.3kbits
frame= 6074 fps=2023 q=27.0 size= 1018kB time=00:13:22.13 bitrate= 10.4kbits
frame= 6343 fps=1810 q=27.0 size= 1625kB time=00:13:58.00 bitrate= 15.9kbits
frame= 6588 fps=1644 q=27.0 size= 2247kB time=00:14:30.66 bitrate= 21.1kbits
[lagarith @ 0000000004378fc0] Unsupported Lagarith frame type: 0x24
[lagarith @ 00000000043796c0] Unsupported Lagarith frame type: 0x38
[lagarith @ 000000000437a700] Unsupported Lagarith frame type: 0x4c
[lagarith @ 000000000437d740] Unsupported Lagarith frame type: 0x60
[lagarith @ 000000000437e760] Unsupported Lagarith frame type: 0x74
[lagarith @ 0000000007fcb800] Unsupported Lagarith frame type: 0x88
[lagarith @ 0000000007fcc820] Unsupported Lagarith frame type: 0x9c
[lagarith @ 0000000007fd0860] Unsupported Lagarith frame type: 0xb0
Error while decoding stream #0:0: Not yet implemented in FFmpeg, patches welcome
[lagarith @ 0000000007fd0ce0] Unsupported Lagarith frame type: 0xc4
Error while decoding stream #0:0: Not yet implemented in FFmpeg, patches welcome
[lagarith @ 0000000004378fc0] Unsupported Lagarith frame type: 0xd8
Error while decoding stream #0:0: Not yet implemented in FFmpeg, patches welcome
[lagarith @ 00000000043796c0] Unsupported Lagarith frame type: 0xec
frame= 6750 fps=1524 q=-1.0 Lsize= 2881kB time=00:14:59.73 bitrate= 26.2kbit
s/s
video:2802kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing
overhead: 2.842291%
[libx264 @ 0000000004288320] frame I:29 Avg QP: 8.05 size: 2113
[libx264 @ 0000000004288320] frame P:1874 Avg QP:11.85 size: 799
[libx264 @ 0000000004288320] frame B:4847 Avg QP:13.60 size: 270
[libx264 @ 0000000004288320] consecutive B-frames: 1.3% 6.0% 8.6% 84.1%
[libx264 @ 0000000004288320] mb I I16..4: 82.8% 4.8% 12.4%
[libx264 @ 0000000004288320] mb P I16..4: 0.2% 0.2% 0.3% P16..4: 5.5% 4.9
% 5.0% 0.0% 0.0% skip:84.0%
[libx264 @ 0000000004288320] mb B I16..4: 0.0% 0.0% 0.1% B16..8: 2.9% 2.2
% 1.4% direct: 0.7% skip:92.7% L0:55.4% L1:38.8% BI: 5.8%
[libx264 @ 0000000004288320] 8x8 transform intra:13.7% inter:12.4%
[libx264 @ 0000000004288320] coded y,uvDC,uvAC intra: 21.9% 42.5% 34.9% inter: 2
.7% 5.4% 4.8%
[libx264 @ 0000000004288320] i16 v,h,dc,p: 81% 9% 8% 2%
[libx264 @ 0000000004288320] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 14% 49% 2% 3%
4% 3% 2% 2%
[libx264 @ 0000000004288320] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 27% 14% 34% 4% 4%
5% 4% 4% 3%
[libx264 @ 0000000004288320] i8c dc,h,v,p: 72% 12% 12% 4%
[libx264 @ 0000000004288320] Weighted P-Frames: Y:0.1% UV:0.1%
[libx264 @ 0000000004288320] ref P L0: 42.5% 5.1% 29.3% 23.0%
[libx264 @ 0000000004288320] ref B L0: 52.8% 37.8% 9.5%
[libx264 @ 0000000004288320] ref B L1: 82.3% 17.7%
[libx264 @ 0000000004288320] kb/s:25.50Any body could help me easily doing this conversion ?
-
How to record frames with ffmpeg and finish the recording
20 février 2024, par Jorge Augusto WilchenIn the following code, i trying to create a class to record frames from an IP camera (RTSP), save frames on a .avi file and finish the record, but, when i kill the operation, the video file may be corrupted. Have any other more safely way to stop the ffmpeg recording ?


.cpp file :


#include "videorecorder.h"


VideoRecorder::VideoRecorder(const std::string& rtspUrl) :
 url(rtspUrl),
 recording(false)
{

}

VideoRecorder::~VideoRecorder()
{
 end_record();
}

bool VideoRecorder::start_record(const std::string &fileName)
{
 if (recording) {
 std::cerr << "Already recording." << std::endl;
 return false;
 }

 std::string command = "ffmpeg -rtsp_transport udp -i " + url
 + " -c:v mjpeg -preset fast -qp 0 " + fileName;

 videoWriter = popen(command.c_str(), "w");
 if (!videoWriter) {
 std::cerr << "Error opening ffmpeg process." << std::endl;
 return false;
 }

 recording = true;
 ffmpegProcessId = getpid();
 std::cout << "Recording started." << std::endl;
 return true;
}

bool VideoRecorder::end_record()
{
 if (recording) {
 if (videoWriter) {
 pid_t ffmpegPID = fileno(videoWriter);

 if (kill(ffmpegPID, SIGTERM) == 0) {
 std::cout << "Recording terminated successfully." << std::endl;
 } else {
 std::cerr << "Error terminating recording." << std::endl;
 return false;
 }

 int status = pclose(videoWriter);

 if (status == 0) {
 std::cout << "Recording ended successfully." << std::endl;
 } else {
 std::cerr << "Error ending recording. pclose status: " << status << std::endl;
 return false;
 }
 } else {
 std::cerr << "Error ending recording. videoWriter is nullptr." << std::endl;
 return false;
 }

 recording = false;
 return true;
 }

 return false;
}



.h file :


#ifndef VIDEORECORDER_H
#define VIDEORECORDER_H

#include <string>
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <csignal>
#include <sys></sys>wait.h>

extern "C" {
#include <libavcodec></libavcodec>avcodec.h>
#include <libavformat></libavformat>avformat.h>
#include <libavutil></libavutil>avutil.h>
#include <libavutil></libavutil>opt.h>
#include <libswscale></libswscale>swscale.h>
#include 
}

#include <linux></linux>videodev2.h>

#include <opencv2></opencv2>opencv.hpp>
#include <opencv2></opencv2>videoio.hpp>
#include <opencv2></opencv2>highgui/highgui.hpp>


class VideoRecorder
{
public:
 VideoRecorder(const std::string& rtspUrl);
 ~VideoRecorder();
 bool start_record(const std::string& fileName);
 bool end_record();

private:
 std::string url;
 AVFormatContext *formatContext;
 AVStream *videoStream;
 AVCodecContext *codecContext;
 AVCodec *codec;
 SwsContext *swsContext;
 AVFrame *frame;
 AVPacket packet;
 bool recording;
 pid_t ffmpegProcessId;
 FILE* videoWriter;
};

#endif // VIDEORECORDER_H
</csignal></cstdlib></fstream></iostream></string>


I'm using the ffmpeg lib becouse i need max speed on frames recording, and OpenCV and AV Lib is much slowness than ffmpeg.


This my terminal output after recording during 10 seconds (generated a file with 23 seconds duration) :


Recording started.
ffmpeg version 4.3.6-0+deb11u1+rpt5 Copyright (c) 2000-2023 the FFmpeg developers
 built with gcc 10 (Debian 10.2.1-6)
 configuration: --prefix=/usr --extra-version=0+deb11u1+rpt5 --toolchain=hardened --incdir=/usr/include/aarch64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-mmal --enable-neon --enable-v4l2-request --enable-libudev --enable-epoxy --enable-sand --libdir=/usr/lib/aarch64-linux-gnu --arch=arm64 --enable-pocketsphinx --enable-libdc1394 --enable-libdrm --enable-vout-drm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
 libavutil 56. 51.100 / 56. 51.100
 libavcodec 58. 91.100 / 58. 91.100
 libavformat 58. 45.100 / 58. 45.100
 libavdevice 58. 10.100 / 58. 10.100
 libavfilter 7. 85.100 / 7. 85.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 7.100 / 5. 7.100
 libswresample 3. 7.100 / 3. 7.100
 libpostproc 55. 7.100 / 55. 7.100
Input #0, rtsp, from 'rtsp://admin:[password]@[ip]:[port]/live/0/MAIN':
 Metadata:
 title : RTSP Server
 Duration: N/A, start: 0.280000, bitrate: N/A
 Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709, progressive), 1920x1080, 25 fps, 25 tbr, 90k tbn, 50 tbc
Codec AVOption preset (Configuration preset) specified for output file #0 (/home/guardian-tech/Pictures/output_frame.avi) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Codec AVOption qp (Constant quantization parameter rate control method) specified for output file #0 (/home/guardian-tech/Pictures/output_frame.avi) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, avi, to '/home/guardian-tech/Pictures/output_frame.avi':
 Metadata:
 INAM : RTSP Server
 ISFT : Lavf58.45.100
 Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj420p(pc), 1920x1080, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
 Metadata:
 encoder : Lavc58.91.100 mjpeg
 Side data:
 cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
[rtsp @ 0x5592e7bb00] max delay reached. need to consume packet
[rtsp @ 0x5592e7bb00] RTP: missed 212 packets
[h264 @ 0x5592ebb790] concealing 2192 DC, 2192 AC, 2192 MV errors in I frame
rtsp://admin:[password]@[ip]:[port]/live/0/MAIN: corrupt decoded frame in stream 0
[rtsp @ 0x5592e7bb00] max delay reached. need to consume packet
[rtsp @ 0x5592e7bb00] RTP: missed 6 packets
[rtsp @ 0x5592e7bb00] max delay reached. need to consume packet
[rtsp @ 0x5592e7bb00] RTP: missed 14 packets
[h264 @ 0x5592f1bd30] cabac decode of qscale diff failed at 42 29
[h264 @ 0x5592f1bd30] error while decoding MB 42 29, bytestream 0
[h264 @ 0x5592f1bd30] concealing 4687 DC, 4687 AC, 4687 MV errors in I frame
rtsp://admin:[password]@[ip]:[port]/live/0/MAIN: corrupt decoded frame in stream 0
Error terminating recording.