Android 使用gstreamer接收和解释视频流

Android 使用gstreamer接收和解释视频流,android,gstreamer,Android,Gstreamer,我为我的Andorid手机编写了一个小程序,通过tcp将其摄像头流传输到我的pc。手机充当客户端,而在pc上,gstreamer应接收该流。因此,我使用以下命令: >>gst-launch -v tcpserversrc port=8888 host=XXX.XX.XX.XXX ! \ filesink location=test.mpg 此方法生成的损坏媒体文件不包含有效头。产量 >>file test.mpg test.mpg: ISO Media, MPEG v

我为我的Andorid手机编写了一个小程序,通过tcp将其摄像头流传输到我的pc。手机充当客户端,而在pc上,gstreamer应接收该流。因此,我使用以下命令:

>>gst-launch -v tcpserversrc port=8888 host=XXX.XX.XX.XXX ! \
filesink location=test.mpg
此方法生成的损坏媒体文件不包含有效头。产量

>>file test.mpg 
test.mpg: ISO Media, MPEG v4 system, 3GPP
但当我使用mplayer时,我会得到以下结果:

>>mplayer test.mpg
...
Playing test.mpg.
libavformat file format detected.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x9b22850]moov atom not found
LAVF_header: av_open_input_stream() 
failed                                                               
Seek failed
libavformat file format detected.
LAVF_header: av_open_input_stream() failed

Exiting... (End of file)
您可以在下载文件(如上所述,由于格式错误,文件无法播放,但您可以单击左侧的下载)

这太疯狂了,如果我在安卓设备上将流记录在一个文件中,我会得到一个有效的视频文件,运行起来没有任何问题

android摄像头的配置由

recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
recorder.setVideoSize(320,240);
recorder.setVideoFrameRate(15);
我必须如何参数化gstreamer来监视流

德国致以最良好的祝愿 祝你周末愉快


波塞多尼厄斯

如何终止录音?mp4容器不太适合流式处理

事实上,您没有编写有效的文件。您只是将原始流转储到一个文件中。 尝试在接收器上使用此添加到管道:

!h264parse split packetized=true配置间隔=1!mp4mux名称=\“muxorig\”\ filesink location=myfile.mp4