Sponsored Content
Top Forums UNIX for Advanced & Expert Users Ffmpeg (avconv) + crtmpserver Linux streaming video, no player to play it Post 302843812 by +Yan on Thursday 15th of August 2013 07:56:56 AM
Old 08-15-2013
Ffmpeg (avconv) + crtmpserver Linux streaming video, no player to play it

Hello Linux experts,

I'm working on live video streaming project, and my job is to create video streaming server using
Ubuntu 13.04
Here is what I've done so far:
1. Installed crtmpserver from Ubuntu's repositories.
2. Installed ffmpeg

To test the server i use webcam as source of video, and the following command:
avconv -f video4linux2 -i /dev/video0 -f flv -an -metadata streamName="test" tcp://localhost:6666


The command output is:

Code:
avconv version 0.8.6-6:0.8.6-1ubuntu2, Copyright (c) 2000-2013 the Libav developers
  built on Mar 30 2013 22:20:06 with gcc 4.7.2
[video4linux2 @ 0x25b79e0] Estimating duration from bitrate, this may be inaccurate
Input #0, video4linux2, from '/dev/video0':
  Duration: N/A, start: 14840.930660, bitrate: 147456 kb/s
    Stream #0.0: Video: rawvideo, yuyv422, 640x480, 147456 kb/s, 30 tbr, 1000k tbn, 30 tbc
Incompatible pixel format 'yuyv422' for codec 'flv', auto-selecting format 'yuv420p'
[buffer @ 0x25b92e0] w:640 h:480 pixfmt:yuyv422
[avsink @ 0x25a5160] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
[scale @ 0x25a5840] w:640 h:480 fmt:yuyv422 -> w:640 h:480 fmt:yuv420p flags:0x4
Output #0, flv, to 'tcp://localhost:6666':
  Metadata:
    streamName      : test
    encoder         : Lavf53.21.1
    Stream #0.0: Video: flv, yuv420p, 640x480, q=2-31, 200 kb/s, 1k tbn, 30 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo -> flv)
Press ctrl-c to stop encoding


So far so good, BUT when I try to play the stream with mplayer from another console with the command:
mplayer rtmp://localhost/live/test mplayer is stalled for very long time (10-15 min.) before the video starts.

If in the meantime I terminate the avconv command, the video is being shown immediately by mplayer.
I tryied the following mplayer options without success:
-nosound
-nocache
different combinations of -cachie N

I had success with this flash player: Flash RTMP Player - Live Video Streaming
But there is about 3 sec. delay which is too much for me.


Please advice me how can I make mplayer play the video as soon as possible ?

Here is the mplayer output:
Code:
mplayer rtmp://localhost/live/test

MPlayer2 UNKNOWN (C) 2000-2012 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing rtmp://localhost/live/test.
Forced lavf FLV format demuxer
Detected file format: libavformat

Thank you in advance.
 

We Also Found This Discussion For You

1. Programming

Video/Audio Streaming in C?

Hi Folks, I have just joined, and have a problem... I am doing my thesis and need to transfer a file from server to the client, while doing that I want to stream the file ( the files being video/audio files). I am unable to figure out abt the streaming part...if there exist any libraries... (0 Replies)
Discussion started by: pappu
0 Replies
ddi_iomin(9F)						   Kernel Functions for Drivers 					     ddi_iomin(9F)

NAME
ddi_iomin - find minimum alignment and transfer size for DMA SYNOPSIS
#include <sys/conf.h> #include <sys/ddi.h> #include <sys/sunddi.h> int ddi_iomin(dev_info_t *dip, int initial, int streaming); INTERFACE LEVEL
Solaris DDI specific (Solaris DDI). PARAMETERS
dip A pointer to the device's dev_info structure. initial The initial minimum DMA transfer size in bytes. This may be zero or an appropriate dlim_minxfer value for device's ddi_dma_lim structure (see ddi_dma_lim_sparc(9S) or ddi_dma_lim_x86(9S)). This value must be a power of two. streaming This argument, if non-zero, indicates that the returned value should be modified to account for streaming mode accesses (see ddi_dma_req(9S) for a discussion of streaming versus non-streaming access mode). DESCRIPTION
ddi_iomin(), finds out the minimum DMA transfer size for the device pointed to by dip. This provides a mechanism by which a driver can determine the effects of underlying caches as well as intervening bus adapters on the granularity of a DMA transfer. RETURN VALUES
ddi_iomin() returns the minimum DMA transfer size for the calling device, or it returns zero, which means that you cannot get there from here. CONTEXT
This function can be called from user or interrupt context. SEE ALSO
ddi_dma_devalign(9F), ddi_dma_setup(9F), ddi_dma_sync(9F), ddi_dma_lim_sparc(9S), ddi_dma_lim_x86(9S), ddi_dma_req(9S) Writing Device Drivers SunOS 5.10 1 Feb 1994 ddi_iomin(9F)
All times are GMT -4. The time now is 12:29 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy