
Recherche avancée
Médias (91)
-
DJ Z-trip - Victory Lap : The Obama Mix Pt. 2
15 septembre 2011
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Matmos - Action at a Distance
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
DJ Dolores - Oslodum 2004 (includes (cc) sample of “Oslodum” by Gilberto Gil)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Danger Mouse & Jemini - What U Sittin’ On ? (starring Cee Lo and Tha Alkaholiks)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Cornelius - Wataridori 2
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Rapture - Sister Saviour (Blackstrobe Remix)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (54)
-
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 (5269)
-
Stream on facebook using ffmpeg
4 octobre 2020, par user25589I'm trying to launch a stream on Facebook using
ffmpeg
overRTMP
.
My command looks like this :

ffmpeg -i "rtmp://localhost:1935/live/stream" -deinterlace -vcodec libx264 -pix_fmt yuv420p -preset medium -r 30 -g 60 -b:v 2500k -acodec aac -strict -2 -ar 44100 -threads 6 -qscale 3 -b:a 712000 -bufsize 512k -f flv "rtmps://live-api-s.facebook.com:443/rtmp/Here-I-Insert-My-Stream-Key"



but I get the error


[aac @ 00000244ed7dfec0] Qavg: 65536.000
Conversion failed!



What is the right way to get this working ?


-
Stream to Facebook Live using OpenCV
23 mai 2022, par Lanzy ErinI am planning to stream a video file to Facebook Live but I want to programmatically edit its frames like adding texts depending. My problem is that I don't know how to properly send data to Facebook Live. I tried ffmpeg but it doesn't work.


Here is my code that I tried


import subprocess
import cv2

rtmp_url = "rtmps://live-api-s.facebook.com:443/rtmp/FB-1081417119476224-0-AbwwMK91tFTjFy2j"

path = "7.mp4"
cap = cv2.VideoCapture(path)

# gather video info to ffmpeg
fps = int(cap.get(cv2.CAP_PROP_FPS))
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))

# command and params for ffmpeg
command = ['ffmpeg',
 '-y',
 '-f', 'rawvideo',
 '-vcodec', 'rawvideo',
 '-pix_fmt', 'bgr24',
 '-s', f"{width}x{height}",
 '-r', str(fps),
 '-i', '-',
 '-c:v', 'libx264',
 '-pix_fmt', 'yuv420p',
 '-preset', 'ultrafast',
 '-f', 'flv',
 rtmp_url]

# using subprocess and pipe to fetch frame data
p = subprocess.Popen(command, stdin=subprocess.PIPE)

while cap.isOpened():
 ret, frame = cap.read()
 if not ret:
 print("frame read failed")
 break

 # YOUR CODE FOR PROCESSING FRAME HERE

 # write to pipe
 p.stdin.write(frame.tobytes())



-
Trying to fix VPlayer's seeking ability, need some guidance [Android FFmpeg]
1er juin 2016, par vxh.vietI’m trying to fix the currently broken seeking ability of VPlayer which is a FFmpeg player for Android. Being a Java developer, C code looks like alien language to me so can only fix it using common logic (which could make any C veteran have a good laugh).
The relevant file is player.c and I’ll try my best to point out the relevant modification.
So the basic idea is because FFmpeg’s
av_seek_frame
is very inaccurate even withAVSEEK_FLAG_ANY
so I’m trying to follow this suggestion to seek backward to the nearest keyframe and then decode to the frame I want. One addition note is since I want to seek based on millisecond while the said solution show the way to seek by frame which is potentially a source of problem.In the
Player
I add the following fields :struct Player{
....
AVFrame *frame;
int64_t current_time_stamp;
};In the
player_read_from_stream
I modify the seeking part as :void * player_read_from_stream(void *data) {
...
struct DecoderData *decoder_data = data;
int stream_no = decoder_data->stream_no;
AVCodecContext * ctx = player->input_codec_ctxs[stream_no];
...
// seeking, start my stuff
if(av_seek_frame(player->input_format_ctx, seek_input_stream_number, seek_target, AVSEEK_FLAG_BACKWARD) >= 0){
//seek to key frame success, now need to read every frame from the key frame to our target time stamp
while(player->current_time_stamp < seek_target){
int frame_done;
while (av_read_frame(player->input_format_ctx, &packet) >= 0) {
if (packet.stream_index == seek_input_stream_number) {
avcodec_decode_video2(ctx, player->frame, &frame_done, &packet);
LOGI(1,"testing_stuff ctx %d", *ctx);
if (frame_done) {
player->current_time_stamp = packet.dts;
LOGI(1,"testing_stuff current_time_stamp: %"PRId64, player->current_time_stamp);
av_free_packet(&packet);
return;
}
}
av_free_packet(&packet);
}
}
}
//end my stuff
LOGI(3, "player_read_from_stream seeking success");
int64_t current_time = av_gettime();
player->start_time = current_time - player->seek_position;
player->pause_time = current_time;
}And in
player_alloc_frames
I allocate the memory for my frame as :int player_alloc_frames(struct Player *player) {
int capture_streams_no = player->caputre_streams_no;
int stream_no;
for (stream_no = 0; stream_no < capture_streams_no; ++stream_no) {
player->input_frames[stream_no] = av_frame_alloc();
//todo: test my stuff
player->frame = av_frame_alloc();
//end test
if (player->input_frames[stream_no] == NULL) {
return -ERROR_COULD_NOT_ALLOC_FRAME;
}
}
return 0;
}Currently it just keep crashing and being a typical Android NDK’s "feature", it just provide a super helpful stack trace :
libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x40 in tid 2717 (FFmpegReadFromS)
I very much appreciate if anyone could help me solve this problem. Thank you for your time.