Skip to content

Commit

Permalink
Version 4.4.0 (#262)
Browse files Browse the repository at this point in the history
* Adding #237 zoom option for thumbnail (thanks to Lev Abashkin)
* Adding support for ENV variables - FF_CONFIG, FF_LANG, FF_HDR10PLUS, FF_WORKDIR
* Fixing FastFlix could not start if setting profile could not find x265 encoder
* Fixing that downloading latest FFmpeg can fail to extract files if previous ones exist (thanks to ProFire)
* Fixing that VCEEncC needs to use nnedi filter for deinterlacing (thanks to Onyx)
* Removing #259 audio limitations (thanks to alpha-0)
  • Loading branch information
cdgriffith authored Sep 25, 2021
1 parent 84b337f commit 1b01faa
Show file tree
Hide file tree
Showing 32 changed files with 323 additions and 619 deletions.
9 changes: 9 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## Version 4.4.0

* Adding #237 zoom option for thumbnail (thanks to Lev Abashkin)
* Adding #259 support for all available audio format per encoder (thanks to alpha-0)
* Adding support for ENV variables - FF_CONFIG, FF_LANG, FF_HDR10PLUS, FF_WORKDIR
* Fixing FastFlix could not start if setting profile could not find x265 encoder
* Fixing that downloading latest FFmpeg can fail to extract files if previous ones exist (thanks to ProFire)
* Fixing that VCEEncC needs to use nnedi filter for deinterlacing (thanks to Onyx)

## Version 4.3.1

* Adding VCEEncC decoder option
Expand Down
31 changes: 22 additions & 9 deletions fastflix/command_runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,15 +43,28 @@ def start_exec(self, command, work_dir: str = None, shell: bool = False, errors=
self.error_message = errors
self.success_message = successes
logger.info(f"Running command: {command}")
self.process = Popen(
shlex.split(command.replace("\\", "\\\\")) if not shell and isinstance(command, str) else command,
shell=shell,
cwd=work_dir,
stdout=open(self.output_file, "w"),
stderr=open(self.error_output_file, "w"),
stdin=PIPE, # FFmpeg can try to read stdin and wrecks havoc on linux
encoding="utf-8",
)
try:
self.process = Popen(
shlex.split(command.replace("\\", "\\\\")) if not shell and isinstance(command, str) else command,
shell=shell,
cwd=work_dir,
stdout=open(self.output_file, "w"),
stderr=open(self.error_output_file, "w"),
stdin=PIPE, # FFmpeg can try to read stdin and wrecks havoc on linux
encoding="utf-8",
)
except PermissionError:
logger.error(
"Could not encode video due to permissions error."
"Please make sure encoder is executable and you have permissions to run it."
"Otherwise try running FastFlix as an administrator."
)
self.error_detected = True
return
except Exception:
logger.exception("Could not start worker process")
self.error_detected = True
return

self.started_at = datetime.datetime.now(datetime.timezone.utc)

Expand Down
Binary file added fastflix/data/icons/magnifier-glass-zoom.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions fastflix/data/languages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3218,3 +3218,10 @@ Decoder:
ita: 'Software: usa avcodec + decoder software'
spa: 'Software: utilizar avcodec + decodificador de software'
zho: 'Software:使用avcodec + 软件解码器'
Preview - Press Q to Exit:
deu: Vorschau - Drücken Sie Q zum Beenden
eng: Preview - Press Q to Exit
fra: Aperçu - Appuyez sur Q pour quitter
ita: Anteprima - Premere Q per uscire
spa: Vista previa - Pulse Q para salir
zho: 预览 - 按Q键退出
46 changes: 0 additions & 46 deletions fastflix/encoders/av1_aom/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,51 +16,5 @@
enable_audio = True
enable_attachments = True

audio_formats = [
"aac",
"ac3",
"dts",
"truehd",
"flac",
"vorbis",
"libvorbis",
"opus",
"libopus",
"acm",
"tta",
"wavpack",
"ac3_fixed",
"alac",
"dca",
"pcm_dvd",
"pcm_f32be",
"pcm_f32le",
"pcm_f64be",
"pcm_f64le",
"pcm_mulaw",
"pcm_s16be",
"pcm_s16be_planar",
"pcm_s16le",
"pcm_s16le_planar",
"pcm_s24be",
"pcm_s24daud",
"pcm_s24le",
"pcm_s24le_planar",
"pcm_s32be",
"pcm_s32le",
"pcm_s32le_planar",
"pcm_s64be",
"pcm_s64le",
"pcm_s8",
"pcm_s8_planar",
"pcm_u16be",
"pcm_u16le",
"pcm_u24be",
"pcm_u24le",
"pcm_u32be",
"pcm_u32le",
"pcm_u8",
]

from fastflix.encoders.av1_aom.command_builder import build
from fastflix.encoders.av1_aom.settings_panel import AV1 as settings_panel
85 changes: 0 additions & 85 deletions fastflix/encoders/avc_x264/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,90 +16,5 @@
enable_audio = True
enable_attachments = True

audio_formats = [
"aac",
"aac_mf",
"libfdk_aac",
"ac3",
"ac3_fixed",
"ac3_mf",
"adpcm_adx",
"g722",
"g726",
"g726le",
"adpcm_ima_qt",
"adpcm_ima_ssi",
"adpcm_ima_wav",
"adpcm_ms",
"adpcm_swf",
"adpcm_yamaha",
"alac",
"libopencore_amrnb",
"libvo_amrwbenc",
"aptx",
"aptx_hd",
"comfortnoise",
"dca",
"eac3",
"flac",
"g723_1",
"libgsm",
"libgsm_ms",
"libilbc",
"mlp",
"mp2",
"mp2fixed",
"libtwolame",
"mp3_mf",
"libmp3lame",
"nellymoser",
"opus",
"libopus",
"pcm_alaw",
"pcm_dvd",
"pcm_f32be",
"pcm_f32le",
"pcm_f64be",
"pcm_f64le",
"pcm_mulaw",
"pcm_s16be",
"pcm_s16be_planar",
"pcm_s16le",
"pcm_s16le_planar",
"pcm_s24be",
"pcm_s24daud",
"pcm_s24le",
"pcm_s24le_planar",
"pcm_s32be",
"pcm_s32le",
"pcm_s32le_planar",
"pcm_s64be",
"pcm_s64le",
"pcm_s8",
"pcm_s8_planar",
"pcm_u16be",
"pcm_u16le",
"pcm_u24be",
"pcm_u24le",
"pcm_u32be",
"pcm_u32le",
"pcm_u8",
"pcm_vidc",
"real_144",
"roq_dpcm",
"s302m",
"sbc",
"sonic",
"sonicls",
"libspeex",
"truehd",
"tta",
"vorbis",
"libvorbis",
"wavpack",
"wmav1",
"wmav2",
]

from fastflix.encoders.avc_x264.command_builder import build
from fastflix.encoders.avc_x264.settings_panel import AVC as settings_panel
2 changes: 1 addition & 1 deletion fastflix/encoders/common/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ def generate_filters(
elif filters:
filter_complex = f"[0:{selected_track}]{filters}[v]"
else:
return None
return ""
if raw_filters:
return filter_complex
return f' -filter_complex "{filter_complex}" -map "[v]" '
Expand Down
84 changes: 0 additions & 84 deletions fastflix/encoders/copy/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,90 +13,6 @@
enable_audio = True
enable_attachments = True

audio_formats = [
"aac",
"aac_mf",
"libfdk_aac",
"ac3",
"ac3_fixed",
"ac3_mf",
"adpcm_adx",
"g722",
"g726",
"g726le",
"adpcm_ima_qt",
"adpcm_ima_ssi",
"adpcm_ima_wav",
"adpcm_ms",
"adpcm_swf",
"adpcm_yamaha",
"alac",
"libopencore_amrnb",
"libvo_amrwbenc",
"aptx",
"aptx_hd",
"comfortnoise",
"dca",
"eac3",
"flac",
"g723_1",
"libgsm",
"libgsm_ms",
"libilbc",
"mlp",
"mp2",
"mp2fixed",
"libtwolame",
"mp3_mf",
"libmp3lame",
"nellymoser",
"opus",
"libopus",
"pcm_alaw",
"pcm_dvd",
"pcm_f32be",
"pcm_f32le",
"pcm_f64be",
"pcm_f64le",
"pcm_mulaw",
"pcm_s16be",
"pcm_s16be_planar",
"pcm_s16le",
"pcm_s16le_planar",
"pcm_s24be",
"pcm_s24daud",
"pcm_s24le",
"pcm_s24le_planar",
"pcm_s32be",
"pcm_s32le",
"pcm_s32le_planar",
"pcm_s64be",
"pcm_s64le",
"pcm_s8",
"pcm_s8_planar",
"pcm_u16be",
"pcm_u16le",
"pcm_u24be",
"pcm_u24le",
"pcm_u32be",
"pcm_u32le",
"pcm_u8",
"pcm_vidc",
"real_144",
"roq_dpcm",
"s302m",
"sbc",
"sonic",
"sonicls",
"libspeex",
"truehd",
"tta",
"vorbis",
"libvorbis",
"wavpack",
"wmav1",
"wmav2",
]

from fastflix.encoders.copy.command_builder import build
from fastflix.encoders.copy.settings_panel import Copy as settings_panel
85 changes: 0 additions & 85 deletions fastflix/encoders/ffmpeg_hevc_nvenc/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,90 +16,5 @@
enable_audio = True
enable_attachments = True

audio_formats = [
"aac",
"aac_mf",
"libfdk_aac",
"ac3",
"ac3_fixed",
"ac3_mf",
"adpcm_adx",
"g722",
"g726",
"g726le",
"adpcm_ima_qt",
"adpcm_ima_ssi",
"adpcm_ima_wav",
"adpcm_ms",
"adpcm_swf",
"adpcm_yamaha",
"alac",
"libopencore_amrnb",
"libvo_amrwbenc",
"aptx",
"aptx_hd",
"comfortnoise",
"dca",
"eac3",
"flac",
"g723_1",
"libgsm",
"libgsm_ms",
"libilbc",
"mlp",
"mp2",
"mp2fixed",
"libtwolame",
"mp3_mf",
"libmp3lame",
"nellymoser",
"opus",
"libopus",
"pcm_alaw",
"pcm_dvd",
"pcm_f32be",
"pcm_f32le",
"pcm_f64be",
"pcm_f64le",
"pcm_mulaw",
"pcm_s16be",
"pcm_s16be_planar",
"pcm_s16le",
"pcm_s16le_planar",
"pcm_s24be",
"pcm_s24daud",
"pcm_s24le",
"pcm_s24le_planar",
"pcm_s32be",
"pcm_s32le",
"pcm_s32le_planar",
"pcm_s64be",
"pcm_s64le",
"pcm_s8",
"pcm_s8_planar",
"pcm_u16be",
"pcm_u16le",
"pcm_u24be",
"pcm_u24le",
"pcm_u32be",
"pcm_u32le",
"pcm_u8",
"pcm_vidc",
"real_144",
"roq_dpcm",
"s302m",
"sbc",
"sonic",
"sonicls",
"libspeex",
"truehd",
"tta",
"vorbis",
"libvorbis",
"wavpack",
"wmav1",
"wmav2",
]

from fastflix.encoders.ffmpeg_hevc_nvenc.command_builder import build
from fastflix.encoders.ffmpeg_hevc_nvenc.settings_panel import NVENC as settings_panel
Loading

0 comments on commit 1b01faa

Please sign in to comment.