📄 readme
字号:
MP4Player ReadmeFeb, 2003Bill MayCisco SystemsThis is the beginning of a README for mp4player that will answersome questions on how to use mp4player.Command line arguments======================Since I never really knew how to use getopt very well, there are veryfew command line arguments that are accepted.mp4player will take a -l option (to loop). Both mp4player and gmp4playerwill take a file name/url to start playing.That's it.Configuration Variables=======================Configuration variables are stored in the windows registry for Windows(see below), and in ~/.gmp4player_rc for every other OS.Configuration variables are read at start, and apply to the entiresession. Some can be changed with GUI knobs. The latest list of configuration variables can be found in our_config_file.cpp.Boolean values must be 0 or 1.Here is the current list by categories:History listName Type Default Gui knob Does---------------------------------------------------------------File0 String NULL yes last file playerFile1 String NULL yes before that oneFile2 String NULL yes before that oneFile3 String NULL yes before that onePrevDirectory String NULL yes last directory looked atPlaying statusName Type Default Gui knob Does---------------------------------------------------------------Looped Boolean 0 yes loop sessionAudio KnobsName Type Default Gui knob Does---------------------------------------------------------------PlayAudio Boolean 1 yes Enables/Disables audio streamVolume Integer 75 yes volume percentageAudioMuted Boolan 0 yes mutes audioLimitAudioSdlBuffer Boolean 0 no See belowVideo KnobsName Type Default Gui knob Does---------------------------------------------------------------PlayVideo Boolean 1 yes Enables/Disables video streamAspectRatio Integer 0 yes Sets Aspect RatioFullScreen Boolean 0 yes Enable full screen on start.Compatibility KnobsName Type Default Gui knob Does---------------------------------------------------------------Mpeg4IsoOnly boolean 0 yes Forces ISO decoder over XvidUseOldMp4Lib Boolean 0 yes Uses Quicktime library for mp4 filesStreaming KnobsName Type Default Gui knob Does---------------------------------------------------------------RtpBufferTimeMsec Integer 2000 no Sets time of initial RTP buffering.RtpBufferTime Integer 2 no Do not useRtpIpPortMin Integer -1 no Sets local ip port to start with in RTSP sessionRtpIpPortMax Integer -1 no Sets local ip port to end with in RTSP sessionUseRtpOverRtsp Boolean 0 yes Use RTP over RTSP (rfc 2326, section 10.2)SendRtcpInRtpOverRtsp Boolean 0 no Enables sending of RTCP msgs to server when using RTP over RTSP (If enabled, can crash DSS).Mpeg2tPamWaitSecs Integer 30 no Sets time to wait for PAM in Mpeg2 transport sessionDebugging KnobsName Type Default Gui knob Does---------------------------------------------------------------HttpDebug Integer LOG_ALERT yes Sets Http library debug levelRtspDebug Integer LOG_ALERT yes Sets RTSP library debug levelSdpDebug Integer LOG_ALERT yes Sets SDP library debug levelRtpDebug Integer LOG_ALERT yes Sets RTP library debug levelMpeg2tDebug Integer LOG_ALERT yes Sets Mpeg2t library debug levelPlayer Plugins==============Starting with version 0.9.3.2, we've gone to a plugin model for audioand video codecs for the player. This is true for both windows andlinux platforms. As of 0.9.7, we also have plugins available for RTP byte streams.On linux (and linux like) platforms, the plugins should be in the mp4player_plugin directory, which is a sub directory of where theother mpeg4ip libraries will be stored. You must do a make installof the plugin when running/debugging with plugins - the player doesnot currently search for plugins. When installing a new version ofthe plugins, it is a good idea to purge this directory.On Windows, the .dlls that get created must be in the same directory as the executable for mp4player.exe or wmp4client.exe. The project filesshould copy the plugin DLLs to the player/src directory, so when running the player, it should work fine.The plugin pattern can be found in player/src/codec_plugin.h. Itis bound to change fairly rapidly for the next couple of CVS releases.Player URLS===========We have 2 special type URLs for the player to play content. The firstone is for mpeg2 transport streams. To play an mpeg2 transport streamover UDP, use the following url:mpeg2t://<multicast address>:<multicast port>The 2nd special URL is to play a stream from a Cisco IP/TV server, eitherbroadcast or on demand. To do this, use the following url:iptv://<iptv content manager>/<program id>Where iptv content manager is the address of the IP/TV content manager, andprogram id is the session id that is created. You can find this out bylooking at the program on the content manager, or get the session id byrunning the iptv_prog utility with the content manager as a parameter.MP4Player key shortcuts=======================If you are using mp4player, the following key short cuts can be used, assuming you've got a video window:HOME - begin video from beginningPAGE UP - increase video size (200% max)PAGE DOWN - decrease video size (50% min)ALT-ENTER - fullscreenESC - return from fullscreenLEFT ARROW - go back 10 secondsRIGHT ARROW - go forward 10 secondsUP ARROW - volume up 1/10thDOWN ARROW - volume down 1/10thSPACE - pause or continueCTRL-C - close video (next if running playlist)CTRL-X - close mp4playerCTRL-0 - Default Aspect RatioCTRL-1 - Aspect Ratio of 3:4CTRL-2 - Aspect Ratio of 16:9CTRL-3 - Aspect Ratio of 1.85 LetterboxCTRL-4 - Aspect Ratio of 2.35 LetterboxWindows GUI===========First - if you're the type of person who wants the player to workwith a nice interface, this isn't the place for you. Go see Quicktimeor Envivio players.We've created a simple windows GUI. It consists of 2 parts - wmp4player and wmp4client. wmp4player contains the GUI, and wmp4client is basically mp4player that will communicate withwmp4player.wmp4client is launched as a seperate process, due to SDL limitations.The 2 processes communicate using file maps in memory. See the CMp4Processand CMP4If classes in wmp4player and CClientProcess in wmp4client.To create this, look for the player60.dsw in player/src directory. Thiswill make all 3 executables (mp4player, wmp4player.exe and wmp4client.exe,as well as all the plugins).To install wmp4player, put the wmp4player.exe, wmp4client.exe andSDL.dll in the same directory. We will not be writing any installers.In addition, make sure all desired plugins are in the same directory.These programs will use the registry for storing information thatLinux stores in .gmp4player_rc. Look for the Software\Mpeg4ip\Configregistry entry. Our config file library is rigged to save this datathere. mp4player will still use a gmp4player_rc file.At this time, if it's broken, you're going to have to fix it. Thesame goes with GUI "nits" - we're not GUI writers. Currently, there isno playlist support, no loop support, no drag and drop support, nowmp4player command line support, no accelerator from the dialog window (accelerators from the video window still work).Known Problems==============* If you're playing through a NAT box, you may have to specify the default client IP ports. Use the command RtpIpPortMin=<port> and RtpIpPortMax=<port> in the .gmp4player_rc file created in your home directory. The IETF recommends a range of 6970 to 6999.* The player for windows is sketchy at best. We have included project files that should build for Dev Studio 6.0. We recommend installing DirectX 8.1 or later. If that is not possible, and you have problems with video, try uncommenting out #define OLD_SURFACE in player/src/video.cpp. If you have problems with choppy playback, and you're using Windows 98, forget about it. The timer tick time is too slow (55 msec) for us to use effectively. Try Quicktime or Real with Envivio, or update to a newer Windows OS.* Mac OSX player sometimes will lock up, or stop playing video while continuing the audio - we need someone to help us add the sound buffer delay to get really good audio/video sync.* FreeBSD based OS's have a problem with thread delays. This can cause the player to skip rendering many frames. If you have this problem update to the latest version of FreeBSD - the problem still can occur, but is reduced. This is due to an error in the thread scheduling code that causes a problem with a delay of less than the thread scheduler quantum (200 msec in some versions, 20 in others). Since the average delay used is 9 to 10 msec (less as we get closer to the video rendering time), this can have a great effect on video playback. You can get around this error by rebuilding your libc, after changing the THREAD_SCHED_USECS to 20000 (or lower) from 200000 in thread_private.h.* If you're running on Linux, and trying to play a raw audio file, and notice that you get garbage, try setting the LimitAudioSdlBuffer config variable to 1 in the .gmp4player_rc file. This seems to occur on a Soundblaster Live, Red Hat 7.3 machine.=== END OF README ===
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -