Jump to content
hackbart

Upcoming Editor

Recommended Posts

hackbart

I plan to publish a complete editor for recordings in the first half of 2018. It currently works fine with Mpeg2, H264, HEVC and all kind of audio formats.

There are still a few issues and the look and feel will differ compared to this screenshot. The idea is to have the recording database on the left, the editor-preview on the right and the slider bar and buttons to trim below.

 

 poc.jpg

Share this post


Link to post
majstang

Hello hackbart!

 

Cool idea:D You dont shy away from tricky stuff, I give you that. Have been looking around for an editor that could replace Videoredo. I mainly use it to edit out commercials from recordings. Will your editor support silent batch mode (DMS system account  avoid visible UI if starting batch mode from a DMS tasks)? Might it be possible to play files and skipping commercials out of the box (Comskip output)? I would imagine it does already support unicode file names since you are posting it in this thread with the recent discussion in mind?!

Share this post


Link to post
hackbart

I'm not on this road - the main focus was to get a slider which does the magic in a nice way and to get a logic which does the cutting. We licensed a powerful editor solution which helps me to get things done. Is comskip still developed? I never tried it since a few years. 

Share this post


Link to post
majstang

Oh yes, Comskip is alive and kicking! Better than ever in fact. Comskip outputs .edl, .txt or .vpjr (videoredo project files). Let me know if you are interested in having a look:D  Batch mode should be doable through the editor COM interface...

Edited by majstang

Share this post


Link to post
hackbart

This would be nice, i could try to get it run with my recordings and check to load the output into my editor project. HEVC is not supported i assume, at least it is not mentioned on the website.

 

Christian

Share this post


Link to post
hackbart

I tested v82 from com skip and i remember why i did not used it in the past. Is there a chance that com skip does not create a filename.log and filename.txt which are used by the DVBViewer - except if you use the --output option? This is just cosmetics and i will play a bit with the output so far.

Share this post


Link to post
majstang
1 hour ago, hackbart said:

This would be nice, i could try to get it run with my recordings and check to load the output into my editor project. HEVC is not supported i assume, at least it is not mentioned on the website.

Comskip uses ffmpeg codecs so I would be surprised if HEVC doesnt work. Free version is limited. You need the donator version for h.264 and above. Unfortunately I dont have any HEVC recordings to test with.

 

27 minutes ago, hackbart said:

I tested v82 from com skip and i remember why i did not used it in the past. Is there a chance that com skip does not create a filename.log and filename.txt which are used by the DVBViewer - except if you use the --output option? This is just cosmetics and i will play a bit with the output so far.

Its a long time since I played with those, but I will check:)

Edited by majstang

Share this post


Link to post
hackbart

The donators version is the one i get, if i spend 10 USD, right (which i done while writing this)? Do i have the ability to get access to the svn? 

At the start i test it with regular mpeg2 streams here - once i figured out which time codes are in the different cut lists i might be able to load them into my editor. Should be not that complicated at all. 

Share this post


Link to post
majstang

Yes, 10 USD gets you access to the svn and if asking erik also the source code if needed. 

So I tested the output options. Its possible to get rid of the .txt and .log files entirely only outputting a single .edl or .VPrj. Dont know which time format your editor requires.

EDL outputs seconds:

Quote

0.00    35.08    3
697.56    820.24    3
1477.56    1655.32    3
2231.56    2591.64    3
3604.36    3755.84    3

VPrj outputs milliseconds:

Quote

<VideoReDoProject Version="3">
<Filename>F:\20171114_20-59-01_Discovery Channel_Gold Rush  Alaska - S08E03 - “The Viking vs. the Mechanic”.ts</Filename><CutList>
<InputPIDList><VideoStreamPID>899</VideoStreamPID>
<AudioStreamPID>898</AudioStreamPID><SubtitlePID1>0</SubtitlePID1></InputPIDList>
<Cut><CutTimeStart>0</CutTimeStart> <CutTimeEnd>349600000</CutTimeEnd> </Cut>
<Cut><CutTimeStart>6974400000</CutTimeStart> <CutTimeEnd>8201200000</CutTimeEnd> </Cut>
<Cut><CutTimeStart>14774400000</CutTimeStart> <CutTimeEnd>16552000000</CutTimeEnd> </Cut>
<Cut><CutTimeStart>22314400000</CutTimeStart> <CutTimeEnd>25915200000</CutTimeEnd> </Cut>
<Cut><CutTimeStart>36042400000</CutTimeStart> <CutTimeEnd>37557600000</CutTimeEnd> </Cut>
</CutList>
<SceneList>
<SceneMarker Sequence="0" Timecode="0:00:34.96">349600000</SceneMarker>
<SceneMarker Sequence="1" Timecode="0:11:37.39">6974000000</SceneMarker>
<SceneMarker Sequence="2" Timecode="0:12:55.84">7758400000</SceneMarker>
<SceneMarker Sequence="3" Timecode="0:13:00.63">7806400000</SceneMarker>
<SceneMarker Sequence="4" Timecode="0:13:33.44">8134400000</SceneMarker>
<SceneMarker Sequence="5" Timecode="0:13:40.12">8201200000</SceneMarker>
<SceneMarker Sequence="6" Timecode="0:24:37.40">14774000000</SceneMarker>
<SceneMarker Sequence="7" Timecode="0:25:10.11">15101200000</SceneMarker>
<SceneMarker Sequence="8" Timecode="0:25:40.40">15404000000</SceneMarker>
<SceneMarker Sequence="9" Timecode="0:25:50.11">15501200000</SceneMarker>
<SceneMarker Sequence="10" Timecode="0:26:24.96">15849600000</SceneMarker>
<SceneMarker Sequence="11" Timecode="0:26:42.20">16022000000</SceneMarker>
<SceneMarker Sequence="12" Timecode="0:27:13.44">16334400000</SceneMarker>
<SceneMarker Sequence="13" Timecode="0:27:20.07">16400800000</SceneMarker>
<SceneMarker Sequence="14" Timecode="0:27:35.20">16552000000</SceneMarker>
<SceneMarker Sequence="15" Timecode="0:37:11.40">22314000000</SceneMarker>
<SceneMarker Sequence="16" Timecode="0:39:29.75">23697600000</SceneMarker>
<SceneMarker Sequence="17" Timecode="0:40:48.96">24489600000</SceneMarker>
<SceneMarker Sequence="18" Timecode="0:41:34.75">24947600000</SceneMarker>
<SceneMarker Sequence="19" Timecode="0:43:11.51">25915200000</SceneMarker>
<SceneMarker Sequence="20" Timecode="1:00:04.19">36042000000</SceneMarker>
<SceneMarker Sequence="21" Timecode="1:00:54.96">36549600000</SceneMarker>
<SceneMarker Sequence="22" Timecode="1:02:35.75">37557600000</SceneMarker>
</SceneList>
</VideoReDoProject>

 

The Comskip.ini output options should look like this for VPrj or zero out Videoredo3 and put 1 for edl:

Quote

delete_logo_file=1        ; set to 1 if you want comskip to tidy up after finishing

output_incommercial=0
output_default=0          ; This dis/enables the default .txt output file.
output_debugwindow=0      ; This switched the regular comskip to ComskipGUI behaviour
output_framearray=0       ; create a big excel file for detailed analysis, set to 0 to disable
output_data=0             ; create a dump of the user data channel, used for CC and XDS (such as V-Chip info). Can be use together with output_framearray to remote debug CC decoding
output_videoredo=0        ; The old videoredo format
output_videoredo3=1          ; The new videoredo v3 format.
output_womble=0
output_mls=0              ; set to 1 if you want MPeg Video Wizard bookmark file output
output_cuttermaran=0
output_mpeg2schnitt=0
output_mpgtx=0
output_dvrcut=0
output_zoomplayer_chapter=0
output_zoomplayer_cutlist=0
output_edl=0
edl_skip_field=3         ; Set to 3 to have better skipping on XBMC, 0 XBMC cuts out the commercials
output_dvrmstb=0         ; Set to 1 if youre running DVRMS-Toolbox
output_edlx=0
output_vcf=0
output_bsplayer=0
output_btv=0             ; set to 1 if you want Beyond TV chapter cutlist output
output_projectx=0        ; set to 1 if you want ProjectX cutlist output (Xcl)
output_avisynth=0
output_vdr=0             ; set to 1 if you want XBMC to skipping commercials
output_demux=0           ; set to 1 if you want comskip to demux the mpeg file while scanning

 

Edited by majstang

Share this post


Link to post
hackbart

Hi, just a short response. I decided to use the .edl file. Since it contains all what we need. I also created a EDL Import/Export function for the Trimlist i use in order to deal with the editor slider object and the trim object. What shall i say, i'm quite surprised about com skip. It runs quite well. You have to cut parts by hand (for example if you have lead time and the previous show was still running), same with the trailing time, but with a handsome editor it is quite fine. 

I wonder how other solutions deal with this, because it is surprisingly the only problem i found while playing with com skip.

 

This takes me to the next point i really like to figure out, before i turn my test snippets into a real application. My idea is that you can create (with the media server) for example a task to run com skip after a recording has been done. It will export the .edl file as output and the editor will automatically detect this file, while opening the video. If you change it, it will be saved automatically or with a dialog requesting action from the user. You can then cut the file.

Should the original file become rewritten, or should you be able to decide to save it with another name. The more dialog you have with the user, the less automated the process can be done. 

 

At this time i plan to include all audio, subtitle and teletext data in the edited file. Shall i offer the ability to select a audio or subtitle stream which should be kept, or not? To be honest on a 4 hours movie the audio and subtitle line is not that big, compared to the video.  

Share this post


Link to post
hackbart

Thanks, i guess i found a bug in com skip. It does not like file names with special characters, like german umlauts. 

Share this post


Link to post
majstang
1 hour ago, hackbart said:

Thanks, i guess i found a bug in com skip. It does not like file names with special characters, like german umlauts. 

What...! Comskip supports Unicode since ages. Output is UTF-8-RAW. Im inputting filenames with swedish umlauts and special Unicode chars all the time, without a single hick-up. This surprises me hugely. Do you have a sample file name for me to test?

Share this post


Link to post
lehtikissa
18 hours ago, hackbart said:

At this time i plan to include all audio, subtitle and teletext data in the edited file.

 

Is the plan to make the edits completely lossless by default (I believe that's how TSPlayer works currently), ie. only the parts marked for deletion are removed, and the remaining parts are exactly as they were in original recording with no transcoding or other processing?

 

That'd help ensure one doesn't need to worry about any issues during editing causing resulting files to miss some key information that was in original recording. It'd be time-consuming to verify each edited file that it remains intact.

 

Share this post


Link to post
hackbart

This what i plan by default. All subtitles, teletext and audio streams should be included. You have to "fix" the PCR time stamps after you cut things out, but there are no reencodings.

Share this post


Link to post
lehtikissa
22 minutes ago, hackbart said:

This what i plan by default. All subtitles, teletext and audio streams should be included. You have to "fix" the PCR time stamps after you cut things out, but there are no reencodings.

 

Great, that'd make it a must-buy. :) I've kept all recordings in their original state as I haven't found a reliable way to edit .ts files without risking losing some information (except for TSPlayer which based on limited tests -- I realized it is capable of such processing only recently -- seems to do everything correctly once settings are set correctly to make sure it finds all subtitle streams). Not ideal as it means having to deal with the lead-time/follow-up time extra content, but better than the alternative.

 

I suppose fixing the PCR time stamps will happen automatically, so once one has used the upcoming editor, the edited recording is ready to go? Does the same fixing happen also with TSPlayer?

 

Share this post


Link to post
hackbart

Yes this is done by the editor while trimming the video. 

Share this post


Link to post
majstang
21 hours ago, hackbart said:

This takes me to the next point i really like to figure out, before i turn my test snippets into a real application. My idea is that you can create (with the media server) for example a task to run com skip after a recording has been done. It will export the .edl file as output and the editor will automatically detect this file, while opening the video. If you change it, it will be saved automatically or with a dialog requesting action from the user. You can then cut the file.

This is the awkward part since DMS runs as a service and MS has safety measures against launching apps with visible UI, from system account to the user account by after recording tasks. There are ways to handle it though by piping. I can assist you with some autohotkey solutions if you want.

 

21 hours ago, hackbart said:

Should the original file become rewritten, or should you be able to decide to save it with another name. The more dialog you have with the user, the less automated the process can be done. 

All dialogs are counted as visible UI as well. Overwrite or save with another name has been a constant dilemma for me.  I do keep the original recording and locates the edited one to a separate folder with edited recordings. Mainly cuz some broadcasters uses stuff that a default Comskip deals badly with and the edited results are bad with default .ini (it has to be tuned for this channel). If overwriting original recording it can be totally ruined, which does not make you the popular one in the household. Hence I keep the original and deletes both once the edited one is watched.        

 

Edited by majstang

Share this post


Link to post
hackbart

Today i tested my engine with several recordings and one is totally screwed up. Always the last one, when you try something ;) I probably will do something like storing the cutted result in to a different folder resp. a different naming scheme. What i really like to do without requesting the user is to create the index file and store it beside the record, as well as the .edl file. To do so i might ask the Author of com skip if there is a chance to avoid creating a .txt and .log file which overwrites our existing one.

 

Share this post


Link to post
majstang

Sounds really intresting this project:D

Yeah, erik might have some command-line tricks up his sleeve which may override the default .ini

Share this post


Link to post
lehtikissa
22 hours ago, hackbart said:

Should the original file become rewritten, or should you be able to decide to save it with another name. The more dialog you have with the user, the less automated the process can be done. 

 

My primary use case for the editor would be to cut extra lead-time/follow-up time content and it probably won't be possible to automate finding those parts reliably, so I'd manually mark what to trim. In that use the "extra" dialog to ask for the new filename would be fine. I'd make that the default, but at the very least it should be an option. Maybe I'd turn that option off once I've seen that the editor always works perfectly. :)

 

Maybe the most user friendly method would be to save the new trimmed file with the original filename and rename the original file by adding "(original)" to its name. That way there would be no additional dialogs. Renaming the original file should be fine as often the user would in any case delete it after confirming the new trimmed file is ok.

Edited by lehtikissa

Share this post


Link to post
majstang
5 minutes ago, lehtikissa said:

My primary use case for the editor would be to cut extra lead-time/follow-up time content and it probably won't be possible to automate finding those parts reliably

It should be possible to get rid of extra lead-time/follow-up time content automatically, but that means tuning of the comskip.ini. 

 

These settings are related to that:

Quote

delete_show_before_first_commercial=1 (0=disabled / 1=on / 2-MAXINT amount of seconds)  ; Any part of the show that comes before the first commercial is deleted when that part is shorter then added_recording (1) or the amount of seconds set (2 or more).;;To be used when the recording may start before the actual show and there is always a commercial break separating the two shows.
delete_show_after_last_commercial=1 (0=disabled / 1=on / 2-MAXINT amount of seconds)  ; set to 1 if you want to delete the last block if its a show and after a commercial
delete_show_before_or_after_current=1  (0=disabled / 1=on / 2-MAXINT amount of seconds) ; set to 1 if you want to delete the previous and the next show in the recording, this can lead to the deletion of trailers of next show
delete_block_after_commercial=0      ; set to max size of block in seconds to be discarded, set to 0 to disable

 

I will post my whole comskip.ini which works very well for all my channels atm:

Quote

detect_method=111           ; 1=black frame, 2=logo, 4=scene change, 8=fuzzy logic, 16=closed captions, 32=aspect ration, 64=silence, 128=cutscenes, 255=all
validate_silence=1          ; Default, set to 0 to force using this clues if selected above.
validate_uniform=1          ; Default, set to 0 to force using this clues (like pure white frames) if blackframe is selected above.
validate_scenechange=1      ; Default, set to 0 to force using this clues if selected above.
verbose=0                  ; show a lot of extra info, level 5 is also OK, set to 0 to disable
max_brightness=60           ; frame not black if any pixels checked are greater than this (scale 0 to 255)
test_brightness=40          ; frame not pure black if any pixels checked are greater than this, will check average brightness (scale 0 to 255)
max_avg_brightness=25       ; maximum average brightness for a dim frame to be considered black (scale 0 to 255) 0 means autosetting
max_commercialbreak=600     ; maximum length in seconds to consider a segment a commercial break
min_commercialbreak=25      ; minimum length in seconds to consider a segment a commercial break
max_commercial_size=125     ; maximum time in seconds for a single commercial or multiple commercials if no breaks in between
min_commercial_size=4       ; mimimum time in seconds for a single commercial
min_show_segment_length=250 ; any segment longer than this will be scored towards show.
non_uniformity=500          ; Set to 0 to disable cutpoints based on uniform frames
max_volume=500              ; any frame with sound volume larger than this will not be regarded as black frame
min_silence=12              ; Any deep silence longer than this amount  of frames is a possible cutpoint
ticker_tape=0               ; Amount of pixels from bottom to ignore in all processing
logo_at_bottom=0            ; Set to 1 to search only for logo at the lower half of the video, do not combine with subtitle setting
punish=0                    ; Compare to average for sum of 1=brightness, 2=uniform 4=volume, 8=silence, 16=schange, set to 0 to disable
punish_threshold=1.3        ; Multiply when amount is above average * punish_threshold
punish_modifier=2           ; When above average * threshold multiply score by this value
intelligent_brightness=0    ; Set to 1 to use a USA specific algorithm to tune some of the settings, not adviced outside the USA
logo_percentile=0.92        ; if more then this amount of logo is found then logo detection will be disabled
logo_threshold=0.75
punish_no_logo=1            ; Default, set to 0 to avoid show segments without logo to be scored towards commercial
aggressive_logo_rejection=0 
connect_blocks_with_logo=1  ; set to 1 if you want successive blocks with logo on the transition to be regarded as connected, set to 0 to disable
logo_filter=0               ; set the size of the filter to apply to bad logo detection, 4 seems to be a good value.
cut_on_ar_change=1          ; set to 1 if you want to cut also on aspect ratio changes when logo is present, set to 2 to force cuts on aspect ratio changes. set to 0 to disable
delete_show_before_first_commercial=1 (0=disabled / 1=on / 2-MAXINT amount of seconds)  ; Any part of the show that comes before the first commercial is deleted when that part is shorter then added_recording (1) or the amount of seconds set (2 or more).;;To be used when the recording may start before the actual show and there is always a commercial break separating the two shows.
delete_show_after_last_commercial=1 (0=disabled / 1=on / 2-MAXINT amount of seconds)  ; set to 1 if you want to delete the last block if its a show and after a commercial
delete_show_before_or_after_current=1  (0=disabled / 1=on / 2-MAXINT amount of seconds) ; set to 1 if you want to delete the previous and the next show in the recording, this can lead to the deletion of trailers of next show
delete_block_after_commercial=0      ; set to max size of block in seconds to be discarded, set to 0 to disable
remove_before=0           ; amount of seconds of show to be removed before ALL commercials
remove_after=0            ; amount of seconds of show to be removed after ALL commercials
shrink_logo=0             ; 2017-10-05 removed 5 ,,,Reduce the duration of the logo with this amount of seconds
before_logo=0             ; Cutpoints can be inserted just before the logo appears. Set value set is the amount of seconds to start a search for a silence before the logo appears.
after_logo=1              ; set to number of seconds after logo disappears comskip should start to search for silence to insert an additional cutpoint
two_pass_logo=0
padding=0
ms_audio_delay=5
volume_slip=40
skip_b_frames=0           ; Set to 1 to force Comskip to skip frames for higher processing speed.
max_repair_size=200       ; Will repair maximum 200 missing MPEG frames in the timeline, set to 0 to disable repairing for players that dont use PTS.
disable_heuristics=4      ; bit pattern for disabling heuristics, adding 1 disables heristics 1, adding 2 disables heristics 2, adding 4 disables heristics 3, 255  disables all heuristics
delete_logo_file=1        ; set to 1 if you want comskip to tidy up after finishing
hardware_decode=0         ; (0=off/1=on)
output_incommercial=0
output_default=0          ; This dis/enables the default .txt output file.
output_debugwindow=0      ; This switched the regular comskip to ComskipGUI behaviour
output_framearray=0       ; create a big excel file for detailed analysis, set to 0 to disable
output_data=0             ; create a dump of the user data channel, used for CC and XDS (such as V-Chip info). Can be use together with output_framearray to remote debug CC decoding
output_videoredo=1        ; The old videoredo format
output_videoredo3=0          ; The new videoredo v3 format.
output_womble=0
output_mls=0              ; set to 1 if you want MPeg Video Wizard bookmark file output
output_cuttermaran=0
output_mpeg2schnitt=0
output_mpgtx=0
output_dvrcut=0
output_zoomplayer_chapter=0
output_zoomplayer_cutlist=0
output_edl=0
edl_skip_field=3         ; Set to 3 to have better skipping on XBMC, 0 XBMC cuts out the commercials
output_dvrmstb=0         ; Set to 1 if youre running DVRMS-Toolbox
output_edlx=0
output_vcf=0
output_bsplayer=0
output_btv=0             ; set to 1 if you want Beyond TV chapter cutlist output
output_projectx=0        ; set to 1 if you want ProjectX cutlist output (Xcl)
output_avisynth=0
output_vdr=0             ; set to 1 if you want XBMC to skipping commercials
output_demux=0           ; set to 1 if you want comskip to demux the mpeg file while scanning
live_tv=0                ; set to 1 if you use parallelprocessing and need the output while recording
live_tv_retries=4        ; change to 16 when using live_tv in BTV, used for mpeg PS and TS
dvrms_live_tv_retries=300  ; only used for dvr_ms
standoff=0               ; change to 8000000 when using live_tv in BTV
thread_count=8            ; default is: thread_count=1 , Set to 2 (50% speed increase on HD) or 4 (100% speed increase on HD) to use more threads for decoding
cuttermaran_options="cut=\"true\" unattended=\"true\" muxResult=\"false\" snapToCutPoints=\"true\" closeApp=\"true\""
mpeg2schnitt_options="mpeg2schnitt.exe /S /E /R25  /Z %2 %1"
avisynth_options="LoadPlugin(\"MPEG2Dec3.dll\") \nMPEG2Source(\"%s\")\n"
dvrcut_options="dvrcut \"%s.dvr-ms\" \"%s_clean.dvr-ms\" "
windowtitle="Comskip - %s"

 

Share this post


Link to post
lehtikissa
23 minutes ago, majstang said:

It should be possible to get rid of extra lead-time/follow-up time content automatically, but that means tuning of the comskip.ini.

 

That certainly would be useful. I'll try at some point how it works with Finnish TV channels.

 

If I understand correctly, the idea is to have DMS to automatically (as an option) create .edl files after a recording is completed. And that .edl file can then be used with the editor.

 

Maybe in addition to any automatic processing when a recording with .edl file is opened in editor, it'd be useful to have an option for the editor to open with .edl settings as defaults without automatically doing any processing. User could then adjust/confirm the .edl defaults using the GUI as needed and possibly make additions.

 

Share this post


Link to post
majstang
23 minutes ago, lehtikissa said:

Maybe in addition to any automatic processing when a recording with .edl file is opened in editor, it'd be useful to have an option for the editor to open with .edl settings as defaults without automatically doing any processing. User could then adjust/confirm the .edl defaults using the GUI as needed and possibly make additions.

Using Videoredo you just drag and drop the .VPrj onto the editor and the file opens up in edit mode with cut- and scenemarkers visable, ready for your input/additions. If it will be possible doing that with christians editor and with drag and drop of .edls (which dont have much else info but cut marks and edl skip field code) would be interesting to know.  

Share this post


Link to post
lehtikissa
13 minutes ago, majstang said:

Using Videoredo you just drag and drop the .VPrj onto the editor and the file opens up in edit mode with cut- and scenemarkers visable, ready for your input/additions.

 

That's exactly what I meant, interesting to know that it is already possible in VideoReDo. I did try VideoReDo a few years ago, but it didn't reliably handle subtitle streams of recordings from certain Finnish TV channels. If this new editor is based on TSPlayer, it is likely not to suffer from the same issues as TSPlayer seems to work much more losslessly than VideoReDo. TSPlayer in my tests perfectly handled subtitles once Search Depth setting was adjusted accordingly (by default it didn't find all subtitles).

Share this post


Link to post
majstang

Christian said:

On 2017-11-18 at 5:51 PM, hackbart said:

We licensed a powerful editor solution which helps me to get things done.

 ...so I dont think we can expect it has any TSPlayer code within. Yeah, subtitles are always working pretty badly in most editors i have tried too. Hopefully hackbart can make it work reliable. 

Edited by majstang

Share this post


Link to post
hackbart

At least we payed for :) It has a high priority for me that all recorded streams are handled like they should. This includes also subtitles and teletext.

Share this post


Link to post
hackbart

Right now i finished my non visual classes, which consists of a trim list-class and a simple class which wraps the cut-engine. The trim list is a list which contains the cut information. I probably will replace it with a "keep"-list instead, because the Editor needs the information which fragments has to be kept. While writing these lines i have an idea which i will try straight after this post. 

The biggest "problem" i have is designing the form. I like the idea to have everything inside one form which should not become totally overblown and scary for users who open it for the very first time. The top bar will be removed, it is just a place holder for buttons and functions i plan to test. 

 

Screenshot 2017-11-28 um 10.48.23.jpg

 

The slider and the cut buttons are placed at the bottom, because my intention is that the more space you have for editing a long video, the better it is. 

On the left you see a list with all recordings you made in the DVBViewer. What i want to have here is also an option to load files which are not listed. In my case i put recordings from time to time to external drives in order to save space. I also want a button to execute com skip if not already done, and i assume a few other features like saving the file to a certain folder etc.

Below the video preview you have a tab sheet which allows you to select tracks you want to keep. By default the engine will keep all audio and subtitle/teletext tracks, if you want to remove those you don't want, you can do this in the panel which appears clicking on Tracks.

 

If you have suggestions what exactly is a must to have, feel free to post them here.

 

Share this post


Link to post
majstang
8 hours ago, hackbart said:

If you have suggestions what exactly is a must to have, feel free to post them here.

I think you have covered everything Im interested in, but my taste in software is lightness (not too many nick-naks nobody uses anyway), functionality (really delivers what it is supossed to). Videoredo is full of stuff I never gonna use ever. So I guess Im the wrong person to ask this question to, but Im sure others have suggestions on what they view as must-haves. 

 

My list would be:

- Comskip compatible batch functionality (automation edit)

- Supporting Unicode

- Some kind of smart edit mode (just the frames around the cuts, so that not a total re-encode of mediafile is required evertime you edit a file, which might take forever if its a HVEC). 

   

Edited by majstang

Share this post


Link to post
hackbart

Yes this is also what i want. Keep it simple and allow the maximum of automatism possible. I tried today to run com skip in a hidden console while rendering the output into my class in order to retrieve the percentage. In theory it works fine. Unicode is by design, i don't use ansi strings anymore in the app. The trim engine uses GOPs and does not reencode. Trimming a 4gb movie with the results i have from com skip takes about 20 seconds on a non SSD drive.

Share this post


Link to post
majstang

Fantastic:thumbsup:

Share this post


Link to post
hackbart

I'm almost done with the GUI - the list on the left is the same like in the Recording and Device-Statistic Window. Below you have a few buttons to load other videos and to save them. The Books allow you to export and import your cut markers. I've introduced a "new" format for this case. I named it .trim which is actually equal to the edit decision list format, but it contains not the cutted pieces, but the kept one. The cut/stop button starts the trimming process and allows it to stop while running.

The editor below helps you to cut your scene. The next step is to check all kind of states and to create a com api which should be used for scripting.

 

Screenshot 2017-12-01 um 11.40.12.jpg

Share this post


Link to post
Webturtle

Hello,

 

@Hackbart: It would be great, if you could provide a scalable timeline for quick or precise navigation, whatever is needed at the moment.

 

 

Many Greetings

 

Webturtle

 

 

Share this post


Link to post
hackbart

I assume you mean something like this :)

 

Screenshot 2017-12-05 um 21.01.37.jpg

 

Yes this is already part of the system. I think it does not make sense if you can not select the frame you will cut. As i said the solution is already quite complete, but the main "problem" i have is to draw a thin line between keep it simple and keep it complete. I'd love to implement the complete editor inside the DVBViewer and after today i'm unsure if it makes sense. I started adding a main menu with the basic functions i really like to have and the ability to configure com skip as easy as possible.  I'm now at the point where i rethink. I probably will offer a separate application for editor only. The next point is, do i offer a terminal/console application which does the automated stuff, or do i add a com server to the application.

I probably will create a stand alone version first and think of the additional steps later. I know this is complaining at a very high level ;) Did i mentioned that HEVC recordings also run as well, as H264 and Mpeg2. 

 

Christian

Share this post


Link to post
hackbart

Hi,

 

just a small work in progress note from me. The editor itself is almost done. You can even change the DPI like in the DVBViewer. For those like me who have problems after hours of computer work with reading the small texts on the display ;) I assume i have to use a higher resolution for the icons, otherwise they look awful after rescale. 

Screenshot 2017-12-17 um 12.52.34.jpg

 

I focused my work on editing with the keyboard. You can easily set the cut points without using a mouse, but if you prefer using the slider display, you can also work with this. Via Shift+Left/Right you jump +/- 10s and with left/right you move to the next i-frame. 

 

At the moment i work on a Batch Manager class which allows to create Jobs for Indexing, Trimming and analyzing the stream for commercial breaks via Comskip. I made a neat small class which does all the magic and once everything works together i hope i can add a useful com interface. Before i do this i will do some heavy brain storming.

Share this post


Link to post
majstang

Man...I can hardly wait for it:D Maybe the release will happen in january or february? Well, I suppose it is hard to tell, cuz one never know what difficulties one will encounter:bye:

Share this post


Link to post
hackbart

Probably not. I'm quite good in creating results within a short amount of time, but we all know (especially those who are in the inner circle) that a lot of things i do need a rework and testing. Anyhow the fact that we licensed a well working engine i hope the beta testing won't consume to much time at all. Right now i try to create a formula which assumes the remaining time till a batch list is processed. To do so i try to use a deltaT (Time between starting the batch and now) in relation to the overall process. The result is not quite correct ;)

 

Screenshot 2017-12-17 um 13.57.35.jpg

Share this post


Link to post
hackbart

Just a short note: I've completed the Batchmanager UI and did some field tests, which means testing automated Indexing, Trimming (with Comskip before) and Trimming without indexing (and Comskip before). I'm still unsure if i should fire a Comskip job automatically if no trim or edl list is available and trimming a file was added to the batch queue - this is what i will try to do tomorrow.

I somewhere read that there was a alternative named ShowAnalyzer. Seem to be pretty dead this project and other editors do have their own "solutions".

What i won't do is to overcomplicate the editor, so only comskip is an option for the job and while reading the sources (https://github.com/erikkaashoek/Comskip) i suppose it does not make sense to spent much time in an alternative.  

The next step is to trying not fall into adding tons of "cool" features which might be used by only 0.1% of the possible users ;) For example showing the exact air time of an recording on each frame - useful mostly only for companies who try to make sure that the advertising breaks are correct and each advertiser does not have to pay more than he should...

 

I hope i will be able to add a COM interface for the Batchmanager after all tests are done till new year. 

 

Christian

 

Share this post


Link to post
majstang

I have tried out the ShowAnalyser (many years ago) and also the Videoredo Ad-detective and a few others, but none of em comes close to the accuracy Comskip has. Comskip also have commercial detection for live recordings (but that is not as accurate as after recording processing) and is simply the best, there is no contest really.

 

A common problem regarding loading dvb recordings in editors is bad reception during recording (not in my case though) sometimes produces files with broken index and cannot be loaded into the editor. VRD has a quick stream fixer to handle that. Comskip can have problems with those too. Perhaps your editor can handle these? I dont have any sample recordings with such problems, but be sure folks will turn up with them sooner or later.

 

Edited by majstang

Share this post


Link to post
hackbart

So less work for me :) Today i was not that much productive with the editor, but i started creating higher resolution images for the button list below. If you use something more than 110 DPI the 32x32 pixel icons look awful. You need at least twice of the pixel size. Anyway this is just cosmetics.

 

The SolveigMM SDK i use has an option to keep the timestamps untouched which causes in the worst case just a glitch in the stream while playback (like if you play the garbaged file in the DVBViewer). I'm not sure if i should allow this to disable, probably not.

 

Christian

Share this post


Link to post
hackbart

Hi you all, 

 

i just want to inform, that the project is nearly completed. It still needs some internal beta tests, but you can expect a solution which helps you editing your videos with an easy to use editor and allows you to get rid of commercials automatically. You will also be able to use batch automation with a command line tool.

 

It will support all video/audio formats used in DVB. Which means in detail MPEG-2, H.264, HEVC (H.265), AAC, AC3. All audio-, teletext- and subtitle-tracks will be kept untouched, so you don't have to worry about them. 

 

Screenshot 2018-01-15 um 21.46.16.jpg

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...