от выбора библиотек
ffmpeg \
-ss 15 \
-i input.mp4 \
-t 75 \
-c copy \
output_15_90.mp4
пропустить 15 секунд от начала, взять фрагмент длиной 75 сек, сохранить без перекодирования в файл output_15_90.mp4ffmpeg \
-ss 15 \
-i input.mp4 \
-vf scale=854:-2 \
-t 75 \
-c:v libx264 \
-c:a aac \
output_15_90.mp4
сделать ширину кадра 854 точки, высоту пропорционально но кратно 2 (требование кодека), видео сжать софтверным h264, аудио кодеком AAC.libx264
— h264_videotoolbox
но в таком случае как читы пишут
php -i | egrep 'limit|timeout|max'
hard_timeout => 2 => 2
log_errors_max_len => 1024 => 1024
max_execution_time => 0 => 0
max_file_uploads => 20 => 20
max_input_nesting_level => 64 => 64
max_input_time => -1 => -1
max_input_vars => 1000 => 1000
memory_limit => -1 => -1
post_max_size => 8M => 8M
upload_max_filesize => 2M => 2M
zend.exception_string_param_max_len => 0 => 0
mbstring.regex_retry_limit => 1000000 => 1000000
mbstring.regex_stack_limit => 100000 => 100000
memcached.default_connect_timeout => 0 => 0
memcached.sess_connect_timeout => 0 => 0
memcached.sess_lock_max_wait => not set => not set
memcached.sess_lock_wait_max => 150 => 150
memcached.sess_server_failure_limit => 0 => 0
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
Read timeout => 86400
pcre.backtrack_limit => 1000000 => 1000000
pcre.recursion_limit => 100000 => 100000
pgsql.max_links => Unlimited => Unlimited
pgsql.max_persistent => Unlimited => Unlimited
session.cache_limiter => nocache => nocache
session.gc_maxlifetime => 1440 => 1440
default_socket_timeout => 60 => 60
unserialize_max_depth => 4096 => 4096
xdebug.connect_timeout_ms => 200 => 200
xdebug.max_nesting_level => 256 => 256
xdebug.max_stack_frames => -1 => -1
xdebug.remote_timeout => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.var_display_max_children => 128 => 128
xdebug.var_display_max_data => 512 => 512
xdebug.var_display_max_depth => 3 => 3
opcache.force_restart_timeout => 180 => 180
opcache.jit_bisect_limit => 0 => 0
opcache.jit_max_exit_counters => 8192 => 8192
opcache.jit_max_loop_unrolls => 8 => 8
opcache.jit_max_polymorphic_calls => 2 => 2
opcache.jit_max_recursive_calls => 2 => 2
opcache.jit_max_recursive_returns => 2 => 2
opcache.jit_max_root_traces => 1024 => 1024
opcache.jit_max_side_traces => 128 => 128
opcache.max_accelerated_files => 10000 => 10000
opcache.max_file_size => 0 => 0
opcache.max_wasted_percentage => 5 => 5
( a + b + sqrt( ( a - b ) * ( a - b ) ) )
___________________________________________
2
( a + b - sqrt( ( a - b ) * ( a - b ) ) )
___________________________________________
2
int32_t TheMadMax( const int32_t a, const int32_t b )
{
const int32_t alpha = ( a - b );
const int32_t beta = alpha >> 31;
const int32_t gamma = ( alpha ^ beta ) - beta;
return ( a + b + gamma ) >> 1;
}
Но самая большая загвоздка в том что пользователь может фильтровать или сортировать записи по своему усмотрению (по алфавиту, по дате или по другим признакам) как мне тогда запомнить последний визуализированный элемент?