Transcoding to xvid or mp4v limits framerate to 10fps

About encoding, codec settings, muxers and filter usage
stealthdave
Blank Cone
Blank Cone
Posts: 14
Joined: 23 Feb 2005 02:32

Transcoding to xvid or mp4v limits framerate to 10fps

Postby stealthdave » 04 Apr 2013 02:24

I'm trying to stream various sources using mp4v and/or xvid, and the output stream is always limited to 10fps or less. Here's my command-line:

Code: Select all

vlc -I dummy video.mov :sout="#transcode{vcodec=mp4v,fps=30,vb=800,acodec=mp4a,ab=128}:std{access=http,mux=ts,dst=:8092}" -vvv
The input source doesn't matter. I'm using a file for simplicity, but I get the same results for playback of a video capture card or screen://, with source encoding being just about anything: SVQ3, mp2v, mp4v, h264 encapsulated in ts, mpg, avi, mov, mkv all tested. Playback via vlc results in the following:

Code: Select all

$ vlc -I dummy http://server_ip:8092 VLC media player 2.0.3 Twoflower (revision 2.0.3-0-g77aa89e) [0x102400910] dummy interface: using the dummy interface module... libdvbpsi error (PSI decoder): TS discontinuity (received 12, expected 0) for PID 0 libdvbpsi error (PSI decoder): TS discontinuity (received 12, expected 0) for PID 66 [0x103800ca0] ts demux error: MPEG-4 descriptor not found [0x103800ca0] ts demux error: MPEG-4 descriptor not found [0x102802af0] packetizer_mpeg4audio packetizer: AAC channels: 2 samplerate: 44100 [mpeg4 @ 0x10280ae20] Width/height/bit depth/chroma idc changing with threads is not implemented. Update your Libav version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented. [mpeg4 @ 0x10280b420] Width/height/bit depth/chroma idc changing with threads is not implemented. Update your Libav version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented. [mpeg4 @ 0x10280ba20] Width/height/bit depth/chroma idc changing with threads is not implemented. Update your Libav version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
Playback via mplayer gives me this:

Code: Select all

$ mplayer http://server_ip:8092MPlayer UNKNOWN-4.2.1 (C) 2000-2012 MPlayer Team 198 audio & 412 video codecs Playing http://server_ip:8092. Resolving server_ip for AF_INET6... Couldn't resolve name for AF_INET6: server_ip Resolving server_ip for AF_INET... Connecting to server server_ip[server_ip]: 8092... Cache size set to 320 KBytes Cache fill: 19.11% (62604 bytes) libavformat version 54.27.101 (internal) Cache empty, consider increasing -cache and/or -cache-min. [performance issue] Cache empty, consider increasing -cache and/or -cache-min. [performance issue] ... Cache empty, consider increasing -cache and/or -cache-min. [performance issue] Cache empty, consider increasing -cache and/or -cache-min. [performance issue] VIDEO MPEG4(pid=69) AUDIO AAC(pid=68) NO SUBS (yet)! PROGRAM N. 1 Stream not seekable! Cache empty, consider increasing -cache and/or -cache-min. [performance issue] FPS seems to be: 10.000000 ========================================================================== Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family libavcodec version 54.56.100 (internal) Unsupported PixelFormat 61 Unsupported PixelFormat 53 Unsupported PixelFormat 81 Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4) ========================================================================== ========================================================================== Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders AUDIO: 44100 Hz, 2 ch, s16le, 0.0 kbit/0.00% (ratio: 0->176400) Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio)) ========================================================================== AO: [coreaudio] 44100Hz 2ch s16le (2 bytes per sample) Starting playback... Could not find matching colorspace - retrying with -vf scale... Opening video filter: [scale] Movie-Aspect is 1.33:1 - prescaling to correct movie aspect. [swscaler @ 0x101bb7750]BICUBIC scaler, from yuv420p to yuyv422 using MMX2 VO: [corevideo] 320x240 => 320x240 Packed YUY2 [ASPECT] Warning: No suitable new res found! A:35629.7 V:35626.8 A-V: 2.827 ct: 0.601 65/ 65 5% 1% 0.2% 1 0 11% Exiting... (Quit)
The VLC log is really long, so here's the pastebin link.

The encoding computer is an Ubuntu 12.04 LTS machine with a 2GHz Core2Duo processor and 4GB of RAM. This example used VLC media player 2.0.5 Twoflower (revision 2.0.5-0-g1661b7d) from ppa:videolan/stable-daily, but I also tested and got the same results with VLC 2.1.0 from ppa:videolan/master-daily. Receiving computer is a MacBook Pro running 10.7.5 and mplayer from MacPorts.

I think what's happening here is that VLC is not declaring the fps somehow, and that mplayer is making a guess when it tells me 10fps. (I've gotten many results, higher quality sources tend to return lower fps, but never anything higher than 10fps.) Transcoding to mp2v or h264 work just fine with the correct fps being displayed. For my purposes, mp4v is the perfect tradeoff between processor performance, bandwidth usage and video quality. Any help would be greatly appreciated.

stealthdave
Blank Cone
Blank Cone
Posts: 14
Joined: 23 Feb 2005 02:32

Re: Transcoding to xvid or mp4v limits framerate to 10fps

Postby stealthdave » 04 Apr 2013 21:08

Just tested this using my Mac as the server, and I'm getting the same results there, as well.

stealthdave
Blank Cone
Blank Cone
Posts: 14
Joined: 23 Feb 2005 02:32

Re: Transcoding to xvid or mp4v limits framerate to 10fps

Postby stealthdave » 05 Apr 2013 01:10

It looks to be a problem specifically with ts muxing of mp4v video. Streaming with mux of ogg played back at the correct frame rate.


Return to “VLC stream-output (sout)”

Who is online

Users browsing this forum: No registered users and 17 guests