Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ffplay works but vlc doesn't #20

Open
hs79hs opened this issue Apr 15, 2017 · 6 comments
Open

ffplay works but vlc doesn't #20

hs79hs opened this issue Apr 15, 2017 · 6 comments

Comments

@hs79hs
Copy link

hs79hs commented Apr 15, 2017

Hi, thanks for your great work. It works between my two phones.
And I also can use ffplay on my computer to view them. But the strange thing is that vlc on my computer cannot play. Everytime it will report error after received nothing for more than 10 seconds.

And I tried to use ffmpeg to record the rtsp link, but the recorded video cannot be played by both vlc and ffplay if without transcode, the ffmpeg command likes this,
ffmpeg.exe -i rtsp://192.168.0.10:8086 -c copy test.ts

It's ok to play if ffmpeg transcodes like this,
ffmpeg.exe -i rtsp://192.168.0.10:8086 test.ts

It seems something is wrong with the codec. Any suggestions? Thanks.

@hs79hs
Copy link
Author

hs79hs commented Apr 15, 2017

Another problem with my two phones is that only 480x320 and 320x240 work, 800x480 or 640x480 doesn't work. Is it because of the CPU capacity of the phone or the network capacity?

@aario
Copy link

aario commented Apr 18, 2017

Same here
Debian Jessie

ffmpeg version 3.2.4-1~bpo8+1 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --prefix=/usr --extra-version='1~bpo8+1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --disable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 34.101 / 55. 34.101
  libavcodec     57. 64.101 / 57. 64.101
  libavformat    57. 56.101 / 57. 56.101
  libavdevice    57.  1.100 / 57.  1.100
  libavfilter     6. 65.100 /  6. 65.100
  libavresample   3.  1.  0 /  3.  1.  0
  libswscale      4.  2.100 /  4.  2.100
  libswresample   2.  3.100 /  2.  3.100
  libpostproc    54.  1.100 / 54.  1.100

VLC media player 2.2.4 Weatherwax (revision 2.2.3-37-g888b7e89)
VLC version 2.2.4 Weatherwax (2.2.3-37-g888b7e89)
Compiled by sebastian on rigel (Jun  5 2016 15:54:01)
Compiler: gcc version 4.9.2 (Debian 4.9.2-10)
This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute it under the terms of the GNU General Public License;
see the file named COPYING for details.
Written by the VideoLAN team; see the AUTHORS file.

Both players connect and trigger the app to start the camera but they cannot play. The ffplay says:

[rtsp @ 0x7f939c0008c0] UDP timeout, retrying with TCP   0B f=0/0   
[rtsp @ 0x7f939c0008c0] Nonmatching transport in server reply=0/0   
[rtsp @ 0x7f939c0008c0] Could not find codec parameters for stream 0 (Video: h264, none): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, rtsp, from 'rtsp://192.168.0.124:8086':
  Metadata:
    title           : Unnamed
    comment         : N/A
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264, none, 90k tbr, 90k tbn, 180k tbc
[rtsp @ 0x7f939c0008c0] UDP timeout, retrying with TCP   0B f=0/0   
[rtsp @ 0x7f939c0008c0] Nonmatching transport in server reply=0/0   
[rtsp @ 0x7f939c0008c0] UDP timeout, retrying with TCP   0B f=0/0   
[rtsp @ 0x7f939c0008c0] Nonmatching transport in server reply=0/0   

@aario
Copy link

aario commented Apr 18, 2017

I believe the problem is that the software doesn't send stream info. mplayer says:

Playing rtsp://192.168.0.124:8086.
Forced lavf RTSP input demuxer
Detected file format: libavformat
[rtsp @ 0x7f07be7bbb40]UDP timeout, retrying with TCP
[rtsp @ 0x7f07be7bbb40]Nonmatching transport in server reply
[rtsp @ 0x7f07be7bbb40]Could not find codec parameters (Video: h264)
[rtsp @ 0x7f07be7bbb40]Estimating duration from bitrate, this may be inaccurate
LAVF_header: av_find_stream_info() failed
Opening as detected format "libavformat" failed.
Failed to recognize file format.


Exiting... (End of file)

Emphasize on: LAVF_header: av_find_stream_info() failed

@hs79hs
Copy link
Author

hs79hs commented Apr 19, 2017

Are you using 480x320 or 320x240? By my tests, they can work while using ffplay, but vlc doesn't.

High resolutions don't work for both ffplay and vlc, because if resolution.X>=640, libstreaming will use MediaRecorder. but MediaRecorder cannot start if setting its outputFile to pipe created by ParcelFileDescriptor.createPipe().

I tried to still use MediaCodec for high resolution, but also failed.

@aario
Copy link

aario commented Apr 20, 2017

I tried with all resolutions and both ffplay and vlc and neither worked. Two things came to my mind: Either Debian Jessie's version of some libraries lacks some dependency on compilation time that prevents these two software to read size information of this specific format of video or you missed one step in your app which initializes the stream with size information. Something like:
initMetaInfo(width, height, ....);
Wish I could find some time fix this problem your app is cool and I want to use it to attach my mobile phone to an RC car and then I can have First Person View :-D

@montvid
Copy link

montvid commented Jun 14, 2017

800x480 and 640x480 don't work on ubuntu vlc but the lower resolutions work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants