
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (29)
-
Utilisation et configuration du script
19 janvier 2011, parInformations spécifiques à la distribution Debian
Si vous utilisez cette distribution, vous devrez activer les dépôts "debian-multimedia" comme expliqué ici :
Depuis la version 0.3.1 du script, le dépôt peut être automatiquement activé à la suite d’une question.
Récupération du script
Le script d’installation peut être récupéré de deux manières différentes.
Via svn en utilisant la commande pour récupérer le code source à jour :
svn co (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Support de tous types de médias
10 avril 2011Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)
Sur d’autres sites (3690)
-
Shows improper/corrupted TS segments from Opencv webcam and FFmpeg
30 juin 2020, par playmaker420Im experimenting with opencv and ffmpeg to create a live hls stream from the webcam using some scripts


The ffmpeg version i use is 3.4


frame-detection.py


import numpy as np
import cv2
import sys


cap = cv2.VideoCapture(0)

while(True):
 # Capture frame-by-frame
 ret, frame = cap.read()
 framestring = frame.tostring()
 sys.stdout.write(str(framestring))

 # Display the resulting frame
 cv2.imshow('frame', frame)
 if cv2.waitKey(1) & 0xFF == ord('q'):
 break

# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()



hlslive_generator.sh


#!/bin/bash

# Create folder from args
mkdir -p $1

# Get into the folder
cd $1

# Start running FFmpeg HLS Live streaming
python frame-detection.py | ffmpeg \
 -f rawvideo \
 -framerate 10 \
 -video_size 640x480 \
 -i - foo.mp4 \
 -vcodec libx264 \
 -acodec copy \
 -pix_fmt yuv420p \
 -color_range 2 \
 -hls_time 1 \
 -hls_list_size 5 \
 -hls_flags delete_segments \
 -use_localtime 1 \
 -hls_segment_filename '%Y%m%d-%s.ts' \
 ./playlist.m3u8



I used the following commands to run the scripts and it creates a folder and generate ts segments in it


./hlslive_generator.sh hlssegments



The issue i face here is with the created ts files, on playing these segments with the video player it shows improper/corrupted segments.


Can someone help me to identify the issue ? Thanks in advance


-
How do I toggle individual codec options in libavcodec (specifically h264_options)
2 juillet 2020, par John AllardI'm trying to figure out how to enable
enable_er
option as is defined inh264dec.c
in libavcodec. This is defined as anAVOption
as part of theAVCodec.priv_class.option
field. I can't figure out if this is some sort of compile-time option or if it's an option that I can enable via theav_dict_set
method when initializing anAVCodec
viaavcodec_open2
.

I'm talking about these options in
h264dec.c


#define OFFSET(x) offsetof(H264Context, x)
#define VD AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM
static const AVOption h264_options[] = {
 { "is_avc", "is avc", OFFSET(is_avc), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, 0 },
 { "nal_length_size", "nal_length_size", OFFSET(nal_length_size), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 4, 0 },
 { "enable_er", "Enable error resilience on damaged frames (unsafe)", OFFSET(enable_er), AV_OPT_TYPE_BOOL, { .i64 = -1 }, -1, 1, VD },
 { NULL },
};

static const AVClass h264_class = {
 .class_name = "H264 Decoder",
 .item_name = av_default_item_name,
 .option = h264_options,
 .version = LIBAVUTIL_VERSION_INT,
};

AVCodec ff_h264_decoder = {
 .name = "h264",
 .long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),
 .type = AVMEDIA_TYPE_VIDEO,
 .id = AV_CODEC_ID_H264,
 .priv_data_size = sizeof(H264Context),
 .init = h264_decode_init,
 .close = h264_decode_end,
 .decode = h264_decode_frame,
 .capabilities = /*AV_CODEC_CAP_DRAW_HORIZ_BAND |*/ AV_CODEC_CAP_DR1 |
 AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS |
 AV_CODEC_CAP_FRAME_THREADS,
 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_EXPORTS_CROPPING,
 .flush = flush_dpb,
 .init_thread_copy = ONLY_IF_THREADS_ENABLED(decode_init_thread_copy),
 .update_thread_context = ONLY_IF_THREADS_ENABLED(ff_h264_update_thread_context),
 .profiles = NULL_IF_CONFIG_SMALL(ff_h264_profiles),
 .priv_class = &h264_class,
};



-
I have a m3u8 file where the individual files don't have any .ts format, Is there a way to cocnat them to a single mp4 file
6 septembre 2020, par Suhail HussainHere is a snippet of the m3u8 file


#EXTM3U
#EXTINF:1,0
0
#EXTINF:1695,0c9c3bf590e32dcb8c4b83222056838b
0c9c3bf590e32dcb8c4b83222056838b
#EXTINF:1,1
1
#EXTINF:4,2
2
#EXTINF:3,3
3
#EXTINF:4,4
4
#EXTINF:3,5
5
#EXTINF:3,6
6
#EXTINF:4,7
7
#EXTINF:4,8
8
#EXTINF:3,9
9
#EXTINF:4,10
10



This goes on for some 500 files. I am able to open the folder in vlc as a playlist but it is just a collection of 500 files that play one after the another. I checked online and found that ffmpeg can concatenate a m3u8 file to a mp4. That unfortunately did not work. After trying a few different syntaxes that I found on different forums which also did not work, I tried "ffplay" on the file name which once again gave the same error message as before -
Invalid data found when processing input:= 0B f=0/0


So this made me believe perhaps ffmpeg is unable to open the file while vlc is able to. Any way to combine these files to a single file is appreciated