1 (edited by Sanjelo 04-09-2016 08:24:07)

Topic: Кодирование видео с экшен камер mov 1080P 30fps-60fps

Пользуюсь плеером давно,  ранее не сохранял видео в 60 к/с т.к. YouTube не проигрывал такие видео, да и объем кодированного видео в 2 раза больше исходника.
С покупкой экшен камеры (SJ Sjcam 4000 ,  оригинал) решил сохранить видео с эффектом плавности, как я только не настраивал ничего не получается.
По порядку:
снес SVP 4.0 free установил SVP 3.0.6 (раз 20 переустанавливал его и AviSynth и MeGUI и ffdshow), в профиле установлено удвоение кадров, чтоб было 60 к/с для просмотра на жк телевизоре и YouTube.
запускаю видео, формирую скрипт. (во вложение пример сформированного скрипта)
если запустить скрипт в MPC  то он проигрывается как надо с плавностью,
в Хаали медиа сплиттер открываю GDSmux, вот настройки кодера:

http://i.piccy.info/i9/684ef794c0d7112888ae3f9b4d32c4ae/1472892173/7959/1066580/Bezymiannyi_240.jpghttp://i.piccy.info/a3/2016-09-03-08-42/i9-10235617/240x150-r/i.gif

Добавляю звуковую дорожку с оригинала, сохраняю.
При кодировании в конфигурация видеокодека ffdshow (в трее) выглядит следующим образом:

http://i.piccy.info/i9/f8e724da5bac523f6df7bcc7f322bc06/1472899148/7841/1066580/Bezymiannyi_240.jpghttp://i.piccy.info/a3/2016-09-03-10-39/i9-10236097/240x150-r/i.gif


При запуске видео в MPC видео идет с подергиваниями (мелкими) но временная дорожка отображается больше чем само видео в 2-3 раза (ориентировочно).
А в других плеерах вообще то медленно то быстро с рывками запускается. При просмотре MediaInfo количество кадров в сохраненном видео действительно 60 кадров, но время ролика становиться больше.

В MeGui ситуация следующая при конвертации видео в 60 кадров видео просто конвертируется в контейнер MKV кадры остаются те же 30 к/с. А при конвертации МР4 все нормально ( но тоже не все видео)

Вот конфиг с MeGui :

Setmemorymax(512)
SetMTMode(3,4)
PluginPath = "C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\"
LoadPlugin(PluginPath+"svpflow1.dll")
LoadPlugin(PluginPath+"svpflow2.dll")
Import(PluginPath+"InterFrame2.avsi")
<input>.ConvertToYV12()
SetMTMode(2)
<deinterlace>
<crop>
<denoise>
<resize>
InterFrame(Cores=4, GPU=true)


Т.к. более трех файлов выложить нельзя, вот медио инфо кодированного файла в GDSmux:

General
Unique ID                      : 179409956390196156481535147947413516874 (0x86F919C9A87A7044CAF5CB03EC40B24A)
Complete name                  : C:\Users\ROG-SSD-ASUS\Desktop\речка.mkv
Format                         : Matroska
Format version                 : Version 2
File size                      : 56.2 MiB
Duration                       : 1mn 16s
Overall bit rate               : 6 199 Kbps
Encoded date                   : UTC 2016-09-03 07:58:33
Writing application            : gdsmux
Writing library                : Haali DirectShow Matroska Muxer 1.11.288.0

Video
ID                             : 1
Format                         : AVC
Format/Info                    : Advanced Video Codec
Format profile                 : High@L4.2
Format settings, CABAC         : No
Format settings, ReFrames      : 3 frames
Codec ID                       : V_MPEG4/ISO/AVC
Duration                       : 1mn 16s
Width                          : 1 920 pixels
Height                         : 1 080 pixels
Display aspect ratio           : 16:9
Frame rate mode                : Constant
Frame rate                     : 60.000 fps
Color space                    : YUV
Chroma subsampling             : 4:2:0
Bit depth                      : 8 bits
Scan type                      : Progressive
Writing library                : x264 core 148 r2694bm 3b70645
Encoding settings              : cabac=0 / ref=3 / deblock=0:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=4 / lookahead_threads=4 / sliced_threads=1 / slices=4 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=0 / weightp=0 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc=crf / mbtree=0 / crf=19.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language                       : English
Default                        : No
Forced                         : No

Audio
ID                             : 2
Format                         : PCM
Codec ID                       : A_PCM/INT/LIT
Duration                       : 1mn 16s
Bit rate mode                  : Constant
Channel(s)                     : 1 channel
Sampling rate                  : 32.0 KHz
Bit depth                      : 16 bits
Title                          : SoundHandler
Default                        : No
Forced                         : No


Как решить проблему?

Post's attachments

Безымянный.jpg 417.86 kb, 146 downloads since 2016-09-03 

Оригинал_MediaInfo.txt 4.4 kb, 565 downloads since 2016-09-03 

скрипт_видео.avs 2.36 kb, 584 downloads since 2016-09-03 

Re: Кодирование видео с экшен камер mov 1080P 30fps-60fps

Разговор про конвертацию 1920x1080 30 fps в 60 fps?

Re: Кодирование видео с экшен камер mov 1080P 30fps-60fps

MAG79 wrote:

Разговор про конвертацию 1920x1080 30 fps в 60 fps?

Да ,даже не успел написать проблему до конца, Вы уже так оперативно, спрашиваете!!!

Re: Кодирование видео с экшен камер mov 1080P 30fps-60fps

Я сталкивался со случаем ошибочного отображения длительности в плеере в два раза больше, чем само видео.
Раньше это устранялось прописыванием частоты кадров --fps=60 в настройках кодировщика x264vfw.
Вижу на скриншоте, что это уже указано в Ваших настройках. Странно, может что поменялось в настройках. hmm
Повторю у себя, вероятно найду причину.

Re: Кодирование видео с экшен камер mov 1080P 30fps-60fps

MAG79 wrote:

Я сталкивался со случаем ошибочного отображения длительности в плеере в два раза больше, чем само видео.
Раньше это устранялось прописыванием частоты кадров --fps=60 в настройках кодировщика x264vfw.
Вижу на скриншоте, что это уже указано в Ваших настройках. Странно, может что поменялось в настройках. hmm
Повторю у себя, вероятно найду причину.

Я в шапке еще по подробней напишу и выложу примеры скрипта и медиаинфо.

Re: Кодирование видео с экшен камер mov 1080P 30fps-60fps

Скачал последние x264vfw и LAVFilters. Пока мучаю DS Mux - длительность в заголовке файла получается больше реальной длительности видео.
В моем случае 10-ти секундное видео сохраняется некорректно. MediaInfo про него говорит:

General
...
Duration                       : 1mn 9s

Video
...
Duration                       : 1mn 9s

Re: Кодирование видео с экшен камер mov 1080P 30fps-60fps

MAG79 wrote:

Скачал последние x264vfw и LAVFilters. Пока мучаю DS Mux - длительность в заголовке файла получается больше реальной длительности видео.
В моем случае 10-ти секундное видео сохраняется некорректно. MediaInfo про него говорит:

General
...
Duration                       : 1mn 9s

Video
...
Duration                       : 1mn 9s

Похоже что я все делал верно, я много раз переустанавливал и перепроверял себя. Буду ждать от Вас новостей и возможного решения проблемы, спасибо за быструю поддержку.

Re: Кодирование видео с экшен камер mov 1080P 30fps-60fps

Скачал x264, из командной строки получилось. Длительность у закодированного файла осталась верной: 10 сек.

Вот простой способ использования x264 из его справки:

x264 --crf 24 -o <output> <input>

Вот моя строчка:

x264-r2705-3f5ed56.exe --crf 19 -o video60fps.mkv script60fps.avs

Эту строчку надо запустить из командной строки, либо любого файлового менеджера, поддерживающего командную строку (Far, Total). В итоге получится mkv-файл, содержащий готовую видео-дорожку. Останется добавить аудио-дорожку, например, при помощи того же DS Mux. И файл готов.

Re: Кодирование видео с экшен камер mov 1080P 30fps-60fps

А можно подробней?
Я так понимаю нужно скачать один из файлов :
http://download.videolan.org/pub/videol … ies/win64/
положить в папку с видео, а куда скрипт? Как сделать правильно?

Re: Кодирование видео с экшен камер mov 1080P 30fps-60fps

1. Скачать win32-версию со страницы x264/binaries/win32, выбрать самый нижний файл x264-r2705-3f5ed56.exe
2. Расположить его в папке с avs-скриптом
3. Открыть командную строку (или файловый менеджер) и набрать в нем строку из предыдущего сообщения

Post's attachments

Far_x264_line.png, 21.24 kb, 740 x 443
Far_x264_line.png 21.24 kb, 649 downloads since 2016-09-03 

11 (edited by Sanjelo 03-09-2016 15:24:39)

Re: Кодирование видео с экшен камер mov 1080P 30fps-60fps

на выходе видео 0 байт

http://i.piccy.info/i9/616e74a32e0ecbd2e66a80550eb5c173/1472916214/16979/1066580/Bezymiannyi_500.jpghttp://i.piccy.info/a3/2016-09-03-15-23/i9-10236831/500x313-r/i.gif

Что я делаю не так?

Re: Кодирование видео с экшен камер mov 1080P 30fps-60fps

Sanjelo
Вероятно, дело в некорректно работающем скрипте script60fps.avs. Откройте его в плеере и проверьте, появляется ли картинка. Самая частая ошибка: некорректно указано имя видео-файла, который открывать. Вторая частая ошибка: требуемый декодер не установлен в системе. Тогда нужно установить LAVFilters и зарегистрировать все три его компонента: сплиттер, видео- и аудио-декодер.
Открытие скрипта в плеере покажет либо текст ошибки, либо начнет воспроизводить уплавненное видео.
Что происходит в Вашем случае?

Re: Кодирование видео с экшен камер mov 1080P 30fps-60fps

Вот скрипт:

svp_scheduler=true
SetMemoryMax(1024)
svp_cache_reduce=true
svp_flow_lib="C:\Program Files (x86)\SVP\Plugins\MVTools2\libflowgpu.dll"
multinum=2
multiden=1
algo=13
block=false
ml=0
search=4
sadml=0
sadgamma=1
blend=true
dist=2
pel=1
sharp=0
Recalc=0
blkh=32
blkv=32
overlap=0
overlapv=0
wid_den=1
hei_den=1


LoadPlugin ("C:\Program Files (x86)\SVP\Plugins\MVTools2\mvtools2.dll")
SetMTMode(3,7)
DirectShowSource("C:\Users\ROG-SSD-ASUS\Desktop\скрипт\video.mov", fps=30, convertfps=true, pixel_type="YV12")
Assert(width==1920 && height==1080,"Frame size "+string(width)+"x"+string(height)+" instead of 1920x1080")
delim=":"
WriteFileStart("C:\Users\ROG-SSD-ASUS\AppData\Roaming\SVP\Logs\avsFPS.txt", "FramerateNumerator()", "delim", "FramerateDenominator()")
SetMTMode(2)
src=last
wid_den==1 ? last : \
hei_den==1 ? LanczosResize(int(width/wid_den/2)*2,height) : LanczosResize(int(width/wid_den/2)*2,int(height/hei_den/2)*2)
super=MSuper(pel=pel, hpad=blkh, vpad=blkv, sharp=sharp)
finest=pel==1 ? super : MFinest(super)
backward_vec=MAnalyse(super, isb=true, blksize=blkh, blksizev=blkv, overlap=overlap, overlapv=overlapv, search=search, searchparam=dist, pelsearch=dist, plevel=0)
forward_vec=MAnalyse(super, isb=false, blksize=blkh, blksizev=blkv, overlap=overlap, overlapv=overlapv, search=search, searchparam=dist, pelsearch=dist, plevel=0)
backward_vec = Recalc==0 ? backward_vec : MRecalculate(super, backward_vec, blksize=blkh2, blksizev=blkv2, overlap=int(overlap/4)*2, overlapv=int(overlapv/4)*2, search=search, searchparam=dist)
forward_vec  = Recalc==0 ? forward_vec  : MRecalculate(super, forward_vec, blksize=blkh2, blksizev=blkv2, overlap=int(overlap/4)*2, overlapv=int(overlapv/4)*2, search=search, searchparam=dist)
smooth_video=MSmoothFps(super, backward_vec, forward_vec, finest=finest, num=FramerateNumerator(last)*multinum,den=FramerateDenominator(last)*multiden, algo=algo, ml=ml, sadml=sadml, sadgamma=sadgamma, block=block, blend=blend)
## == MSmoothFps_2.avs ==
mi = MSmoothFps(super, backward_vec, forward_vec, finest=finest, num=FramerateNumerator(src)*2,den=FramerateDenominator(src), algo=algo, ml=ml, sadml=sadml, sadgamma=sadgamma, block=block, blend=blend).SelectOdd
mi = (wid_den==1)&&(hei_den==1) ? mi : mi.BicubicResize(src.width, src.height, b=0, c=0.75)
smooth_video = interleave(src,mi)
smooth_video

distributor()

Скрипт открывается корректно, время отображается правильно до секунды. При открытии скрипта в MPC траблов нет.
А вот при открытии того же скрипта в MeGUI, скрипт открывает видео, а при добавлении в работу для кодирования получаю ошибку:

http://i.piccy.info/i9/890152bbc7ff660f721b2823dc433561/1473001788/69640/1066580/Bezymiannyi_800.jpghttp://i.piccy.info/a3/2016-09-04-15-09/i9-10240006/800x500-r/i.gif

Стоит последний LAVFilters-0.68.1, переустанавливал другие.

14 (edited by Sanjelo 04-09-2016 15:32:18)

Re: Кодирование видео с экшен камер mov 1080P 30fps-60fps

Если же в в MeGUI открывать видео, не использовать скрипт svp, а создать свой вот по этой инструкции с конфигом указанным в шапке (взятого с этой же инструкции) при нажатии сохранить выдает вот такую ошибку:

http://i.piccy.info/i9/37e1f9e06d0e946e65806dafb068a914/1473002672/71270/1066580/Bezymiannyi_800.jpghttp://i.piccy.info/a3/2016-09-04-15-24/i9-10240071/800x500-r/i.gif

а при попытке просмотра вот такую:

http://i.piccy.info/i9/09c3b231499a266d974705cd89442b5f/1473002850/73550/1066580/Bezymiannyi_800.jpghttp://i.piccy.info/a3/2016-09-04-15-28/i9-10240083/800x500-r/i.gif


Возможна данная информация будет полезна для решения проблемы. Мне кажется что-то с ависинком, гдето от туда беды...
Может откликнутся люди у кого есть екшен камеры и которые смогли сохранить видео с эффектом плавности в 60к/с  1920х1080

Re: Кодирование видео с экшен камер mov 1080P 30fps-60fps

У меня видеорегистратор, который пишет MOV 1080p, 30fps.
Режу записи при помощи QuickTime Player'а без перекодировки. Вот вырезал кусок длиной 14 сек.

Для статистики:
- DS Mux вместе с кодером x264vfw сохранил 60 fps, но снова показал ложную длительность 1 мин 14 сек.
- x264 из командной строки + добавление аудио в DS Mux - сохранил 60 fps успешно, корректная длительность.
- MeGUI не пробовал еще.

Sanjelo
А что если попробовать некое готовое решение от одного из участников форума?
NaturalGroundingPlayer

Re: Кодирование видео с экшен камер mov 1080P 30fps-60fps

Попробуй Staxrip (тема тут на форуме). Я им уже не одну тысячу часов видео собрал.

Re: Кодирование видео с экшен камер mov 1080P 30fps-60fps

Вот эта тема: [vapoursynth || avisynth] новый метод кодирования видео пачкой

Re: Кодирование видео с экшен камер mov 1080P 30fps-60fps

с пятницы, почитаю, изучу, спасибо за ссылки.
При помощи QuickTime Player'а без перекодировки можно склеивать MOVы? (у меня его просто нет этого плеера).

Re: Кодирование видео с экшен камер mov 1080P 30fps-60fps

Sanjelo
При помощи QuickTime Player'а без перекодировки можно склеивать MOVы?
Да. Оказалось, что можно. Два видео можно склеить следующим образом: открыть оба файла в разных плеерах, выделить все - скопировать в одном - вставить в другом - Сохранить как.
Мой регистратор пишет видео кусками по 2 минуты, так на месте склейки и видео и звук склеилились бесшовно, что радует. Буду теперь этим пользоваться. wink
Использовал QuickTime Player 7.7.9 (после установки необходимо ввести ключ QuickTime Pro, чтобы стали доступными функции сохранения)