
Recherche avancée
Autres articles (34)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
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 (4544)
-
ffpmeg drops last frame when compressing from MP4 to MP4 (libx264)
28 octobre 2018, par UsoboiSo, I’m using this code to compress my *mp4 file. I need to get lower quality and decrease bitrate :
ffmpeg -i input.mp4 -c:v libx264 output.mp4
The problem is : the last frame of footage is dropped after ffmpeg compression.
Screenshot is here : screenshot_ffmpeg_drop frameI tried to use full preferences I need, but the problem is the same.
ffmpeg -i input.mp4 -c:v libx264 -vf scale=1280:720 -preset fast -crf 29 -r 25 -c:a copy output.mp4
logfile during ffmpeg encoding :
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from ’\input.mp4’ :
Metadata :
major_brand : mp42
minor_version : 0
compatible_brands : mp42mp41
creation_time : 2018-10-28T11:06:03.000000Z
Duration : 00:00:12.76, start : 0.000000, bitrate : 5374 kb/s
Stream #0:0(eng) : Video : h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 5368 kb/s, 25 fps, 25 tbr, 50k tbn, 50 tbc (default)
Metadata :
creation_time : 2018-10-28T11:06:03.000000Z
handler_name : Alias Data Handler
encoder : AVC CodingStream mapping : Stream #0:0 -> #0:0 (h264 (native) -> h264
(libx264)) Press [q] to stop, [?] for help [libx264 @
000002fae8b50780] using SAR=1/1 [libx264 @ 000002fae8b50780] using cpu
capabilities : MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @
000002fae8b50780] profile High, level 3.1 [libx264 @ 000002fae8b50780]
264 - core 155 r2901 7d0ff22 - H.264/MPEG-4 AVC codec - Copyleft
2003-2018 - http://www.videolan.org/x264.html - options : cabac=1 ref=2
deblock=1:0:0 analyse=0x3:0x113 me=hex subme=6 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_pskip=1 chroma_qp_offset=-2 threads=12
lookahead_threads=2 sliced_threads=0 nr=0 decimate=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=1 keyint=250
keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=30 rc=crf
mbtree=1 crf=29.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40
aq=1:1.00 Output #0, mp4, to ’\output.mp4’ : Metadata :
major_brand : mp42
minor_version : 0
compatible_brands : mp42mp41
encoder : Lavf58.17.100
Stream #0:0(eng) : Video : h264 (libx264) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1—1, 25 fps, 12800 tbn, 25
tbc (default)
Metadata :
creation_time : 2018-10-28T11:06:03.000000Z
handler_name : Alias Data Handler
encoder : Lavc58.19.104 libx264
Side data :
cpb : bitrate max/min/avg : 0/0/0 buffer size : 0 vbv_delay : -1frame= 318 fps=127 q=-1.0 Lsize= 855kB time=00:00:12.60 bitrate=
556.0kbits/s speed=5.05x video:851kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead : 0.534683% [libx264 @
0000015d5cef0500] frame I:2 Avg QP:26.18 size : 67800 [libx264 @
0000015d5cef0500] frame P:80 Avg QP:27.93 size : 5439 [libx264 @
0000015d5cef0500] frame B:236 Avg QP:32.44 size : 1269 [libx264 @
0000015d5cef0500] consecutive B-frames : 0.9% 0.0% 0.9% 98.1%
[libx264 @ 0000015d5cef0500] mb I I16..4 : 10.6% 62.5% 26.8% [libx264
@ 0000015d5cef0500] mb P I16..4 : 0.5% 1.0% 0.2% P16..4 : 36.1%
5.1% 3.6% 0.0% 0.0% skip:53.6% [libx264 @ 0000015d5cef0500] mb B I16..4 : 0.6% 0.5% 0.0% B16..8 : 22.2% 0.6% 0.0% direct : 2.0%
skip:74.2% L0:44.9% L1:54.5% BI : 0.6% [libx264 @ 0000015d5cef0500]
8x8 transform intra:55.0% inter:86.2% [libx264 @ 0000015d5cef0500]
coded y,uvDC,uvAC intra : 48.1% 54.9% 27.0% inter : 3.2% 5.2% 0.2%
[libx264 @ 0000015d5cef0500] i16 v,h,dc,p : 19% 56% 10% 15% [libx264 @
0000015d5cef0500] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu : 19% 25% 18% 5% 6%
5% 8% 5% 8% [libx264 @ 0000015d5cef0500] i4
v,h,dc,ddl,ddr,vr,hd,vl,hu : 27% 24% 9% 5% 8% 7% 9% 5% 7%
[libx264 @ 0000015d5cef0500] i8c dc,h,v,p : 60% 20% 15% 4% [libx264 @
0000015d5cef0500] Weighted P-Frames : Y:0.0% UV:0.0% [libx264 @
0000015d5cef0500] ref P L0 : 67.7% 32.3% [libx264 @ 0000015d5cef0500]
ref B L0 : 80.4% 19.6% [libx264 @ 0000015d5cef0500] ref B L1 : 92.1%
7.9% [libx264 @ 0000015d5cef0500] kb/s:547.35 -
ffpmeg drops last frame when compressing from MP4 to MP4 (libx264)
28 octobre 2018, par UsoboiSo, I’m using this code to compress my *mp4 file. I need to get lower quality and decrease bitrate :
ffmpeg -i input.mp4 -c:v libx264 output.mp4
The problem is : the last frame of footage is dropped after ffmpeg compression.
Screenshot is here : screenshot_ffmpeg_drop frameI tried to use full preferences I need, but the problem is the same.
ffmpeg -i input.mp4 -c:v libx264 -vf scale=1280:720 -preset fast -crf 29 -r 25 -c:a copy output.mp4
logfile during ffmpeg encoding :
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from ’\input.mp4’ :
Metadata :
major_brand : mp42
minor_version : 0
compatible_brands : mp42mp41
creation_time : 2018-10-28T11:06:03.000000Z
Duration : 00:00:12.76, start : 0.000000, bitrate : 5374 kb/s
Stream #0:0(eng) : Video : h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 5368 kb/s, 25 fps, 25 tbr, 50k tbn, 50 tbc (default)
Metadata :
creation_time : 2018-10-28T11:06:03.000000Z
handler_name : Alias Data Handler
encoder : AVC CodingStream mapping : Stream #0:0 -> #0:0 (h264 (native) -> h264
(libx264)) Press [q] to stop, [?] for help [libx264 @
000002fae8b50780] using SAR=1/1 [libx264 @ 000002fae8b50780] using cpu
capabilities : MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @
000002fae8b50780] profile High, level 3.1 [libx264 @ 000002fae8b50780]
264 - core 155 r2901 7d0ff22 - H.264/MPEG-4 AVC codec - Copyleft
2003-2018 - http://www.videolan.org/x264.html - options : cabac=1 ref=2
deblock=1:0:0 analyse=0x3:0x113 me=hex subme=6 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_pskip=1 chroma_qp_offset=-2 threads=12
lookahead_threads=2 sliced_threads=0 nr=0 decimate=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=1 keyint=250
keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=30 rc=crf
mbtree=1 crf=29.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40
aq=1:1.00 Output #0, mp4, to ’\output.mp4’ : Metadata :
major_brand : mp42
minor_version : 0
compatible_brands : mp42mp41
encoder : Lavf58.17.100
Stream #0:0(eng) : Video : h264 (libx264) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1—1, 25 fps, 12800 tbn, 25
tbc (default)
Metadata :
creation_time : 2018-10-28T11:06:03.000000Z
handler_name : Alias Data Handler
encoder : Lavc58.19.104 libx264
Side data :
cpb : bitrate max/min/avg : 0/0/0 buffer size : 0 vbv_delay : -1frame= 318 fps=127 q=-1.0 Lsize= 855kB time=00:00:12.60 bitrate=
556.0kbits/s speed=5.05x video:851kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead : 0.534683% [libx264 @
0000015d5cef0500] frame I:2 Avg QP:26.18 size : 67800 [libx264 @
0000015d5cef0500] frame P:80 Avg QP:27.93 size : 5439 [libx264 @
0000015d5cef0500] frame B:236 Avg QP:32.44 size : 1269 [libx264 @
0000015d5cef0500] consecutive B-frames : 0.9% 0.0% 0.9% 98.1%
[libx264 @ 0000015d5cef0500] mb I I16..4 : 10.6% 62.5% 26.8% [libx264
@ 0000015d5cef0500] mb P I16..4 : 0.5% 1.0% 0.2% P16..4 : 36.1%
5.1% 3.6% 0.0% 0.0% skip:53.6% [libx264 @ 0000015d5cef0500] mb B I16..4 : 0.6% 0.5% 0.0% B16..8 : 22.2% 0.6% 0.0% direct : 2.0%
skip:74.2% L0:44.9% L1:54.5% BI : 0.6% [libx264 @ 0000015d5cef0500]
8x8 transform intra:55.0% inter:86.2% [libx264 @ 0000015d5cef0500]
coded y,uvDC,uvAC intra : 48.1% 54.9% 27.0% inter : 3.2% 5.2% 0.2%
[libx264 @ 0000015d5cef0500] i16 v,h,dc,p : 19% 56% 10% 15% [libx264 @
0000015d5cef0500] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu : 19% 25% 18% 5% 6%
5% 8% 5% 8% [libx264 @ 0000015d5cef0500] i4
v,h,dc,ddl,ddr,vr,hd,vl,hu : 27% 24% 9% 5% 8% 7% 9% 5% 7%
[libx264 @ 0000015d5cef0500] i8c dc,h,v,p : 60% 20% 15% 4% [libx264 @
0000015d5cef0500] Weighted P-Frames : Y:0.0% UV:0.0% [libx264 @
0000015d5cef0500] ref P L0 : 67.7% 32.3% [libx264 @ 0000015d5cef0500]
ref B L0 : 80.4% 19.6% [libx264 @ 0000015d5cef0500] ref B L1 : 92.1%
7.9% [libx264 @ 0000015d5cef0500] kb/s:547.35 -
V4l2 to RTSP stream using FFmpeg library ver 5.1
10 août 2022, par wolverinTrying to transcode MJPEG in /dev/video0 to H264 RTSP server


The MJPEG packet is read correctly, transcoded by the procedure below without errors


BUT the image is corrupted after the middle of the picture and freezes




int WriteStream()
{
 int rt = 0;
 int64_t time_start = av_gettime_relative();

 if ((rt = avcodec_send_packet(pInpCdcCtx, pInpPkt)) < 0)
 goto ERROR;

 do {
 rt = avcodec_receive_frame(pInpCdcCtx, pInpFrm);
 if (rt == AVERROR_EOF || rt == AVERROR(EAGAIN))
 break;
 else if (rt < 0)
 goto ERROR_FRM;

int64_t time_dec = av_gettime_relative();

 if (pSwsCtx) /* it is NOT USED now because it is very slow, WHY??? and pOutFrm = pInpFrm */
 {
 pOutFrm->pts = pInpFrm->pts;

 sws_scale(pSwsCtx,
 (const uint8_t * const *) pInpFrm->data, pInpFrm->linesize, 0, pInpCdcCtx->height,
 pOutFrm->data, pOutFrm->linesize);
 }
 else
 {
 pInpFrm->key_frame = 0;
 pInpFrm->pict_type = AV_PICTURE_TYPE_NONE;
 }

int64_t time_sws = av_gettime_relative();


 if ((rt = avcodec_send_frame(pOutCdcCtx, pOutFrm)) < 0)
 goto ERROR_FRM;

 do {
 rt = avcodec_receive_packet(pOutCdcCtx, pOutPkt);
 if (rt == AVERROR_EOF || rt == AVERROR(EAGAIN))
 break;
 else if (rt < 0)
 goto ERROR_PKT;

int64_t time_enc = av_gettime_relative();

 fprintf(stdout, "Packet size inp: %d out: %d bytes Time decode: %.2f scale: %.2f encode: %.2f transcode: %.2f ms ...\r",
 pInpPkt->size, pOutPkt->size, (time_dec - time_start)/1000.0, (time_sws - time_dec)/1000.0, (time_enc - time_sws)/1000.0, (av_gettime_relative() - time_start)/1000.0);

 rt = av_interleaved_write_frame(pOutFmtCtx, pOutPkt);

 av_packet_unref(pOutPkt);
 } while (rt >= 0);

 av_frame_unref(pInpFrm);
 } while (rt >= 0);
 return 0;

ERROR_PKT:
 av_packet_unref(pOutPkt);
ERROR_FRM:
 av_frame_unref(pInpFrm);
ERROR:
 PrintError("Error transcoding", rt);
 return rt;
}



The dump looks like this


Input #0, video4linux2,v4l2, from '/dev/video0':
 Duration: N/A, start: 20815.488118, bitrate: N/A
 Stream #0:0: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 30 fps, 30 tbr, 1000k tbn
[libx264 @ 0x14e12c0] using cpu capabilities: ARMv6 NEON
[libx264 @ 0x14e12c0] profile High 4:2:2, level 3.0, 4:2:2 8-bit
[libx264 @ 0x14e12c0] 264 - core 148 r2643 5c65704 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=4 lookahead_threads=4 sliced_threads=1 slices=4 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc_lookahead=0 rc=cbr mbtree=0 bitrate=500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=500 vbv_bufsize=1000 nal_hrd=none filler=0 ip_ratio=1.40 aq=0
Output #0, rtsp, to 'rtsp://127.0.0.1:554/cam':
 Stream #0:0: Video: h264, yuv422p(tv, bt470bg/unknown/unknown), 640x480, q=2-31, 500 kb/s, 30 tbr, 90k tbn



The app itself is working fine


./ffmpeg -f v4l2 -input_format mjpeg -video_size 640x480 -i /dev/video0 -c:v libx264 -pix_fmt yuv422p -preset ultrafast -r 30 -b:v 500k -minrate:v 300k -maxrate:v 500k -bufsize 1000k -f rtsp -rtsp_transport udp rtsp ://192.168.36.212:554/cam


maybe somehow it is necessary to set pts, dts and pkt_pos ?