
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (111)
-
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
-
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
Submit bugs and patches
13 avril 2011Unfortunately a software is never perfect.
If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
You may also (...)
Sur d’autres sites (7894)
-
Java IO Streaming Large Files Video/Data/Sound [on hold]
2 mars 2015, par James RelicI have a series of questions listed below regarding java.io streaming and sockets.
-
What is a video streaming server ? How does it differ from a standard web server.
-
Remember Napster/Morpheus etc ? They’re P2P programs, did they allow users to stream data to each other ? Is there a difference between streaming and downloading (on the clients end) ?
-
How would you go about writing a generic program in java that streams anything to the client , word docs, mp3 files, videos files ? Would you use serverlets for this purpose ?
-
If all you are doing is sending files video/sound/docs/text etc from one computer to another would you need to use specialist APIs like FFMPEG-Java, Red5 ?
-
if you are sending video or sound as a file supposedly you don’t need to worry about encoding or decoding ?
-
Do I need to worry about RTSP if im streaming videos as a file ? Rather then wanting them to play live on the client end ?
I understand my questions sound very untechnical and basic, but I’m a little confused on this whole streaming topic and want to know the best way to stream large files of all types using the Java EE/Spring platform.
-
-
ffmpeg stops randomly with "No more output streams to write to, finishing" when reading rtsp stream [on hold]
7 juin 2016, par ImagineDragonBasically I am running the following ffmpeg command to read an h264 rtsp stream using hls muxer, under Ubuntu 14.04 64bit with i7 CPU and 8GB memory :
ffmpeg -v debug -i rtsp://172.16.11.247:554/live/ch00_0?token=hQttXvrjSPOcClQB -codec copy -flags -global_header -f hls -hls_time 5 -use_localtime 1 -hls_segment_filename '/home/eason/ffmpeg-test/%s.ts' '/home/eason/ffmpeg-test/live.m3u8'
ffmpeg version N-79139-gde1a0d4 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab
libavutil 55. 19.100 / 55. 19.100
libavcodec 57. 30.100 / 57. 30.100
libavformat 57. 29.101 / 57. 29.101
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 40.102 / 6. 40.102
libavresample 3. 0. 0 / 3. 0. 0
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Reading option '-re' ... matched as option 're' (read input at native frame rate) with argument '1'.
Reading option '-i' ... matched as input file with argument 'rtsp://172.16.11.247:554/live/ch00_0?token=hQttXvrjSPOcClQB'.
Reading option '-codec' ... matched as option 'codec' (codec name) with argument 'copy'.
Reading option '-flags' ... matched as AVOption 'flags' with argument '-global_header'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'hls'.
Reading option '-hls_time' ... matched as AVOption 'hls_time' with argument '5'.
Reading option '-use_localtime' ... matched as AVOption 'use_localtime' with argument '1'.
Reading option '-hls_segment_filename' ... matched as AVOption 'hls_segment_filename' with argument '/home/eason/ffmpeg-test/%s.ts'.
Reading option '/home/eason/ffmpeg-test/live.m3u8' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input file rtsp://172.16.11.247:554/live/ch00_0?token=hQttXvrjSPOcClQB.
Applying option re (read input at native frame rate) with argument 1.
Successfully parsed a group of options.
Opening an input file: rtsp://172.16.11.247:554/live/ch00_0?token=hQttXvrjSPOcClQB.
[tcp @ 0x29c4d60] No default whitelist set
[rtsp @ 0x29c2e20] SDP:
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=640028;sprop-parameter-sets=Z2QAKKzoBQBbkA==,aO48sA==
a=control:trackID=0
m=audio 0 RTP/AVP 98
a=rtpmap:98 MPEG4-GENERIC/16000/1
a=fmtp:98 profile-level-id=1;mode=AAC-lbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1408;cpresent=0;
a=control:trackID=1
[rtsp @ 0x29c2e20] video codec set to: h264
[rtsp @ 0x29c2e20] RTP Packetization Mode: 1
[rtsp @ 0x29c2e20] RTP Profile IDC: 64 Profile IOP: 0 Level: 28
[rtsp @ 0x29c2e20] Extradata set to 0x29c4ff0 (size: 22)
[rtsp @ 0x29c2e20] audio codec set to: aac
[rtsp @ 0x29c2e20] audio samplerate set to: 16000
[rtsp @ 0x29c2e20] audio channels set to: 1
[rtp @ 0x29c50a0] No default whitelist set
[udp @ 0x29c5200] No default whitelist set
[udp @ 0x29c5200] end receive buffer size reported is 131072
[udp @ 0x29d9480] No default whitelist set
[udp @ 0x29d9480] end receive buffer size reported is 131072
[rtsp @ 0x29c2e20] method SETUP failed: 461 Unsupported transport
[rtsp @ 0x29c2e20] CSeq: 3
[rtsp @ 0x29c2e20] setting jitter buffer size to 0
Last message repeated 1 times
[rtsp @ 0x29c2e20] hello state=0
[rtsp @ 0x29c2e20] All info found
[rtsp @ 0x29c2e20] rfps: 24.250000 0.018062
[rtsp @ 0x29c2e20] rfps: 24.333333 0.012911
[rtsp @ 0x29c2e20] rfps: 24.416667 0.008627
[rtsp @ 0x29c2e20] rfps: 24.500000 0.005207
Last message repeated 1 times
[rtsp @ 0x29c2e20] rfps: 24.583333 0.002653
Last message repeated 1 times
[rtsp @ 0x29c2e20] rfps: 24.666667 0.000965
Last message repeated 1 times
[rtsp @ 0x29c2e20] rfps: 24.750000 0.000142
Last message repeated 1 times
[rtsp @ 0x29c2e20] rfps: 24.833333 0.000185
Last message repeated 1 times
[rtsp @ 0x29c2e20] rfps: 24.916667 0.001093
Last message repeated 1 times
[rtsp @ 0x29c2e20] rfps: 25.000000 0.002867
Last message repeated 1 times
[rtsp @ 0x29c2e20] rfps: 25.083333 0.005507
Last message repeated 1 times
[rtsp @ 0x29c2e20] rfps: 25.166667 0.009011
[rtsp @ 0x29c2e20] rfps: 25.250000 0.013382
[rtsp @ 0x29c2e20] rfps: 25.333333 0.018618
[rtsp @ 0x29c2e20] rfps: 50.000000 0.011469
Input #0, rtsp, from 'rtsp://172.16.11.247:554/live/ch00_0?token=hQttXvrjSPOcClQB':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0, 28, 1/90000: Video: h264 (High), 1 reference frame, yuv420p(left), 1280x720, 1/180000, 24.75 tbr, 90k tbn, 180k tbc
Stream #0:1, 23, 1/16000: Audio: aac (LC), 16000 Hz, mono, fltp
Successfully opened the file.
Parsing a group of options: output file /home/eason/ffmpeg-test/live.m3u8.
Applying option codec (codec name) with argument copy.
Applying option f (force format) with argument hls.
Successfully parsed a group of options.
Opening an output file: /home/eason/ffmpeg-test/live.m3u8.
Successfully opened the file.
[file @ 0x2cae180] Setting default whitelist 'file,crypto'
[mpegts @ 0x29f7ce0] muxrate VBR, pcr every 9000 pkts, sdt every 2147483647, pat/pmt every 2147483647 pkts
Output #0, hls, to '/home/eason/ffmpeg-test/live.m3u8':
Metadata:
encoder : Lavf57.29.101
Stream #0:0, 0, 1/90000: Video: h264, 1 reference frame, yuv420p(left), 1280x720 (0x0), 1/90000, q=2-31, 24.75 tbr, 90k tbn, 90k tbc
Stream #0:1, 0, 1/90000: Audio: aac (LC), 16000 Hz, mono
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
Last message repeated 103 times
[hls @ 0x2a0fc00] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
[AVIOContext @ 0x2c998c0] Statistics: 0 seeks, 155 writeouts=N/A speed=1.01x
[file @ 0x2ba60e0] Setting default whitelist 'file,crypto'
[file @ 0x2ca9fc0] Setting default whitelist 'file,crypto'
[hls @ 0x2a0fc00] EXT-X-MEDIA-SEQUENCE:0
[AVIOContext @ 0x2caa080] Statistics: 0 seeks, 1 writeouts
[AVIOContext @ 0x2c99480] Statistics: 0 seeks, 103 writeouts=N/A speed= 1x
[file @ 0x2ba60e0] Setting default whitelist 'file,crypto'
[file @ 0x2c97c60] Setting default whitelist 'file,crypto'
[hls @ 0x2a0fc00] EXT-X-MEDIA-SEQUENCE:0
[AVIOContext @ 0x2c97d20] Statistics: 0 seeks, 1 writeouts
[AVIOContext @ 0x2c99480] Statistics: 0 seeks, 104 writeouts=N/A speed= 1x
[file @ 0x2ba60e0] Setting default whitelist 'file,crypto'
[file @ 0x2c99680] Setting default whitelist 'file,crypto'
[hls @ 0x2a0fc00] EXT-X-MEDIA-SEQUENCE:0
[AVIOContext @ 0x2c99820] Statistics: 0 seeks, 1 writeouts
[AVIOContext @ 0x2c99480] Statistics: 0 seeks, 28 writeoutse=N/A speed= 1x
[file @ 0x29c50c0] Setting default whitelist 'file,crypto'
[file @ 0x2ba60e0] Setting default whitelist 'file,crypto'
[hls @ 0x2a0fc00] EXT-X-MEDIA-SEQUENCE:0
[AVIOContext @ 0x29c2ce0] Statistics: 0 seeks, 1 writeouts
[AVIOContext @ 0x2c99480] Statistics: 0 seeks, 111 writeouts=N/A speed= 1x
[file @ 0x2c97d40] Setting default whitelist 'file,crypto'
[file @ 0x2a134e0] Setting default whitelist 'file,crypto'
[hls @ 0x2a0fc00] EXT-X-MEDIA-SEQUENCE:0
[AVIOContext @ 0x2a11000] Statistics: 0 seeks, 1 writeouts
[AVIOContext @ 0x2c99480] Statistics: 0 seeks, 105 writeouts=N/A speed= 1x
[file @ 0x29c50c0] Setting default whitelist 'file,crypto'
[file @ 0x2a10c00] Setting default whitelist 'file,crypto'
[hls @ 0x2a0fc00] EXT-X-MEDIA-SEQUENCE:1
[AVIOContext @ 0x2a10cc0] Statistics: 0 seeks, 1 writeouts
[AVIOContext @ 0x2c99480] Statistics: 0 seeks, 103 writeouts=N/A speed= 1x
[file @ 0x29c50c0] Setting default whitelist 'file,crypto'
[file @ 0x2c99480] Setting default whitelist 'file,crypto'
.......repeat........
[hls @ 0x2a0fc00] EXT-X-MEDIA-SEQUENCE:71
[AVIOContext @ 0x2c97fa0] Statistics: 0 seeks, 1 writeouts
[rtsp @ 0x29c2e20] Too short data for FU-A H264 RTP packette=N/A speed= 1x
[AVIOContext @ 0x2ba60e0] Statistics: 0 seeks, 103 writeouts=N/A speed= 1x
[file @ 0x2c97b20] Setting default whitelist 'file,crypto'
[file @ 0x2c97c60] Setting default whitelist 'file,crypto'
[hls @ 0x2a0fc00] EXT-X-MEDIA-SEQUENCE:72
[AVIOContext @ 0x2c99480] Statistics: 0 seeks, 1 writeouts
[AVIOContext @ 0x2ba60e0] Statistics: 0 seeks, 156 writeouts=N/A speed= 1x
[file @ 0x2c99480] Setting default whitelist 'file,crypto'
[file @ 0x2cab600] Setting default whitelist 'file,crypto'
[hls @ 0x2a0fc00] EXT-X-MEDIA-SEQUENCE:73
[AVIOContext @ 0x2cab6c0] Statistics: 0 seeks, 1 writeouts
[AVIOContext @ 0x2ba60e0] Statistics: 0 seeks, 104 writeouts=N/A speed= 1x
[file @ 0x2cadc00] Setting default whitelist 'file,crypto'
[file @ 0x2c99480] Setting default whitelist 'file,crypto'
[hls @ 0x2a0fc00] EXT-X-MEDIA-SEQUENCE:74
[AVIOContext @ 0x29c2ce0] Statistics: 0 seeks, 1 writeouts
[AVIOContext @ 0x2ba60e0] Statistics: 0 seeks, 103 writeouts=N/A speed= 1x
[file @ 0x2a13540] Setting default whitelist 'file,crypto'
[file @ 0x2cab680] Setting default whitelist 'file,crypto'
[hls @ 0x2a0fc00] EXT-X-MEDIA-SEQUENCE:75
[AVIOContext @ 0x2c99480] Statistics: 0 seeks, 1 writeouts
No more output streams to write to, finishing.:46.09 bitrate=N/A speed=0.993x
[AVIOContext @ 0x2ba60e0] Statistics: 0 seeks, 138 writeouts
[file @ 0x29c50c0] Setting default whitelist 'file,crypto'
[hls @ 0x2a0fc00] EXT-X-MEDIA-SEQUENCE:76
[AVIOContext @ 0x2ba60e0] Statistics: 0 seeks, 1 writeouts
frame= 8423 fps= 21 q=-1.0 Lsize=N/A time=00:06:46.09 bitrate=N/A speed=0.993x
video:37031kB audio:1586kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (rtsp://172.16.11.247:554/live/ch00_0?token=hQttXvrjSPOcClQB):
Input stream #0:0 (video): 8423 packets read (37919815 bytes);
Input stream #0:1 (audio): 6345 packets read (1624337 bytes);
Total: 14768 packets (39544152 bytes) demuxed
Output file #0 (/home/eason/ffmpeg-test/live.m3u8):
Output stream #0:0 (video): 8423 packets muxed (37919815 bytes);
Output stream #0:1 (audio): 6345 packets muxed (1624337 bytes);
Total: 14768 packets (39544152 bytes) muxed
0 frames successfully decoded, 0 decoding errorsThe problem is that ffmpeg exits randomly after 5 to 20 minutes. The RTSP is a live stream so stopping every 5 minute is really not acceptable. In the ffmpeg log I can’t see any noticeable error except "No more output streams to write to, finishing." near the end. Can someone shed some light upon this ? How can I make ffmpeg run without stopping ? Thanks
-
How to using every 5 sec generate video output File Path to Encode with RTMP Formate write data in ios ? [on hold]
16 juillet 2015, par Sandeep Joshi(void) segmentRecording:(NSTimer*)timer {
if (!shouldBeRecording) {
[timer invalidate];
}
AVAssetWriter *tempAssetWriter = self.assetWriter;
AVAssetWriterInput *tempAudioEncoder = self.audioEncoder;
AVAssetWriterInput *tempVideoEncoder = self.videoEncoder;
self.assetWriter = queuedAssetWriter;
self.audioEncoder = queuedAudioEncoder;
self.videoEncoder = queuedVideoEncoder;
NSLog(@"Switching encoders");
dispatch_async(segmentingQueue, ^{
if (tempAssetWriter.status == AVAssetWriterStatusWriting) {
@try {
[tempAudioEncoder markAsFinished];
[tempVideoEncoder markAsFinished];
[tempAssetWriter finishWritingWithCompletionHandler:^{
if (tempAssetWriter.status == AVAssetWriterStatusFailed) {
[self showError:tempAssetWriter.error];
} else {
[self uploadLocalURL:tempAssetWriter.outputURL];
}
}];
}
@catch (NSException *exception) {
NSLog(@"Caught exception: %@", [exception description]);
//[BugSenseController logException:exception withExtraData:nil];
}
}
self.segmentCount++;
if (self.readyToRecordAudio && self.readyToRecordVideo) {
NSError *error = nil;
self.queuedAssetWriter = [[AVAssetWriter alloc] initWithURL:[OWUtilities urlForRecordingSegmentCount:segmentCount basePath:self.basePath] fileType:(NSString *)kUTTypeMPEG4 error:&error];
if (error) {
[self showError:error];
}
self.queuedVideoEncoder = [self setupVideoEncoderWithAssetWriter:self.queuedAssetWriter formatDescription:videoFormatDescription bitsPerSecond:videoBPS];
self.queuedAudioEncoder = [self setupAudioEncoderWithAssetWriter:self.queuedAssetWriter formatDescription:audioFormatDescription bitsPerSecond:audioBPS];
//NSLog(@"Encoder switch finished");
}
});}
(void) uploadLocalURL:(NSURL*)url {
NSLog(@"upload local url: %@", url);
NSString *inputPath = [url path];
NSString *outputPath = [inputPath stringByReplacingOccurrencesOfString:@".mp4" withString:@".ts"];
NSString *outputFileName = [outputPath lastPathComponent];
NSDictionary *options = @{kFFmpegOutputFormatKey: @"mpegts"};
NSLog(@"%@ conversion...", outputFileName);
[ffmpegWrapper convertInputPath:[url path] outputPath:outputPath options:options progressBlock:nil completionBlock:^(BOOL success, NSError *error) {
if (success) {
if (!isRtmpConnected) {
isRtmpConnected = [rtmp openWithURL:HOST_URL enableWrite:YES];
}
isRtmpConnected = [rtmp isConnected];
if (isRtmpConnected) {
NSData *video = [NSData dataWithContentsOfURL:[NSURL URLWithString:outputPath]];
NSUInteger length = [video length];
NSUInteger chunkSize = 1024 * 5;;
NSUInteger offset = 0;
NSLog(@"original video length: %lu \n chunkSize : %lu", length,chunkSize);
// Let's split video to small chunks to publish to media server
do {
NSUInteger thisChunkSize = length - offset > chunkSize ? chunkSize : length - offset;
NSData* chunk = [NSData dataWithBytesNoCopy:(char *)[video bytes] + offset
length:thisChunkSize
freeWhenDone:NO];
offset += thisChunkSize;
// Write new chunk to rtmp server
NSLog(@"%lu", (unsigned long)[rtmp write:chunk]);
sleep(1);
} while (offset < length);
}else{
[rtmp close];
}
} else {
NSLog(@"conversion error: %@", error.userInfo);
}
}];}This code use for live streaming for send data using RTMP Wrapper.
Not write in Socket properly because every 5 second to generate different file output file.This is proper way ?
I have no idea how to get NSData in proper way.
Please help me .