@aradeonas (and all the others)
Here's the next Release of 'FFPlay4Laz' and 'FFInfo4Laz':(Except of 'SDL.dll', all Files have changed -> Replace
all old Files with the new ones.)
What's new...- Written with Lazarus v1.8.2 + FPC v3.0.4.
- Updated to
'FFmpeg v3.3.5', using FFmpeg-Headers v3.3.5 from 'FFVCL v7.0'.
- Changed:
VersionCounting From now on, the first Number indicates the required SDL-Version;
the following 2 or 3 Numbers are the same as the required FFmpeg-Version.
(This Way, You'll always know, which DLL-Versions are required.)
=> Current Version of 'FFPlay4Laz' and 'FFInfo4Laz' is
v1.3.3.5- Revised:
Start PAUSED This Option determines, whether MRLs are opened paused or playing.
(Open paused didn't work really well in the last Version of 'FFPlay4Laz' - now, it should.)
- Added:
Audio-only Files supported (former Versions of 'FFPlay4Laz' only played Videos)
-> Should play all AudioFormats, supported by FFmpeg.
- Added:
AudioOutputDevice selectable (Portaudio only; not supported by SDL1)
When the App starts, all available Pa-AudioOutputDevices are listed in the ConsoleWindow.
The preferred Pa-AudioOutputDevice can then be set in the INI.File.
Note: The best Sound is obtained with Portaudio +
ASIO (I use 'ASIO4ALL':
www.asio4all.com).
- Added:
Video-SyncMode selectable This Option determines, how Video-MRLs are synchronized, and is set in the INI.File:
0=NO AV-Sync : The Audio- and VideoStream are not synced to each other
1=SyncVideoToAudio: The AudioStream is constant; Video is synced to it
2=SyncAudioToVideo: The VideoStream is constant; Audio is synced to it
3=AutoSync : The AV-SyncMode is selected automatically (recommended)
When the App runs, the Video-SyncMode can be changed with <0>, <1>, <2>, <3>.
- Added:
Toggle VideoScreen <Tab> toggles between two Screens, whose Settings are stored in the INI.File.
E.g. Screen #1 = 5,5,1270,730,0 = "in the left upper Corner, big, w/o Frame nor Titlebar"
Screen #2 = 625,245,600,450,1 = "in the right lower Corner, small, and resizable".
- Added:
Toggle Resizable <-> NoFrame/NoTitlebar LeftDoubleClicking on the SDL-Screen toggles between 'Resizable' and 'NoFrame/NoTitlebar'.
- Added:
Fullscreen When the SDL-Screen is maximized, LeftDoubleClicking on it switches to Fullscreen, and back.
- Added:
Freeze Video with <f>.
- Added:
Mute Audio with <m>.
- Added:
Display Playertimes with <t> (= MRL-Position - MRL-Length - Remaining Time).
(For the Moment, the Playertimes are only shown in the ConsoleWindow; OSD is projected.)
- Added:
Seek PAUSED (experimental with Videos)
Press <Space> to pause the MRL, then press one of the SeekKeys (= <Up>/<Dn, <Left>/<Right>, <PageUp>/<PageDn>).
All SeekKeys are repetitive, means as long as the Key is pressed, the Seek will be repeated automatically.
Notes: - With some Video-Formats, Seeking paused may be a bit slow, especially when Seeking backwards.
- Sometimes the Seek's TargetPicture is not detected correctly. In this Case, the VideoImage jumps to the actual SeekTarget, when the Video is resumed.
-> Some better Code is under Construction.
- Added:
AutoPause <p> switches AutoPause on/off. This Feature is especially useful, if several Players are opened simultaneously:
When AutoPause is activated, the Player, that has the Focus is resumed, the other ones are paused automatically.
Note: You can open as much Instances of 'FFPlay4Laz' as Your CPU bears, where
each Instance may have any Position & Size on the PC-Screen(s), see
'MultiVideoExample.jpg' in the Attachment.
- Added:
Step Frame(s) <Less> ("<") steps one or several Frames forward; 'Step Frame(s)' is repetitive.
Note: Mostly it's more useful to step
several Frames, instead of Stepping only one Frame.
Therefore, the Number of Frames to be stepped at once can be set in the INI.File.
How to install...Download 'FFPlay4Laz-1.3.3.5-cli.7z' from the
Attachment, extract it, and
put all required DLLs (FFmpeg, SDL, Portaudio) into the
same Directory.
'FFPlay4Laz' is portable, so You may put the FFPlay4Laz-Directory wherever You want on Your PC.
Requirements... (see also 'README_ConsoleInfo.txt' -> GoTo "Requirements...")
- The
FFmpeg-DLLs - There are several Ways to get them, e.g.:
- From 'FFVCL':
http://www.delphiffmpeg.com/downloads -> Download the FFmpeg-DLLs for Win32
(Those for the FFVCL Player are sufficient = "LGPL, Player/Decoder only, smaller filesize").
The FFmpeg-DLLs are in the Folder 'LibAV' - 'SDL2.dll' and 'SoundTouch.dll' are not used by 'FFPlay4Laz'.
- From 'Zeranoe':
https://ffmpeg.zeranoe.com/builds/ - From 'FFmpeg':
https://www.ffmpeg.org/download.html These are the FFmpeg-SourceFiles; You have to build the DLLs by Yourself.
I use 'MinGW v4.9.2' + 'Nasm v2.12.01' (+ 'SDL v1.2.15' for FFmpeg's 'FFPlay').
Note:
This Version of 'FFPlay4Laz'/'FFInfo4Laz' is written with the DLLs from FFmpeg v3.3.5.
I tested it with the DLLs from the last v3.4 ReleaseBranch (= v3.4.2, "Cantor") -> It works with them, too.
- The
SDL-DLL:
https://www.libsdl.org/download-1.2.php -> Download 'SDL-1.2.15-win32.zip'.
- The
Portaudio-DLL:
https://github.com/spatialaudio/portaudio-binaries -> Download 'libportaudio32bit.dll'.
How to use it...see 'README_ConsoleInfo.txt', 'README_ConsoleKeys.txt' and 'README_ConsoleOptions.txt'.
Known Bugs, ToDos, Not so Nices...- Still using SDL1 -> Update to SDL2 is projected.
- Seek paused is experimental; it may not work well with some Video-Formats (see above).
- No NetworkSupport implemented.
If You need a Lazarus-FFmpegPlayer
with NetworkSupport,
somby did one, see:
http://forum.lazarus.freepascal.org/index.php/topic,40446.0.htmlTry them out, tell me Your Opinion and if there are Bugs.