🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: alt.pl.rec.videokamery
5 messages
5 total messages Started by rAniel Tue, 08 Mar 2011 08:32
O wyższości D8
#134200
Author: rAniel
Date: Tue, 08 Mar 2011 08:32
17 lines
1692 bytes
Witam wszystkich,
Użytkując przez wiele lat kamerę w standardzie D8 polubiłem bardzo możliwość
bezbolesnego uzupełniania zrzuconego na dysk nagrania o datę i czas.
Używałem do tego programiku DVTimeStamp a całość montowałem w NeroVision.

Teraz - po przesiadce na kamerę SD z HDD - pracowicie dodaję ręcznie do
początku każdej sceny tą samą informację i wzdycham za starą kamerą :(

Czy jest jakiś sposób na zautomatyzowanie tego procesu? W trakcie
wyświetlania materiału z kamery można w każdej chwili włączyć sobie
informację o dacie nagrania - czyli gdzieś to jest przechowywane. Jak się
podczas edycji na kompie dostać do tej informacji?


-----
pozdrawiam
g. 
Re: O wyższości D8
#134201
Author: Jingiel
Date: Mon, 14 Mar 2011 05:47
11 lines
1430 bytes
>Czy jest jakiś sposób na zautomatyzowanie tego procesu? W trakcie
>wyświetlania materiału z kamery można w każdej chwili włączyć sobie
>informację o dacie nagrania - czyli gdzieś to jest przechowywane. Jak się
>podczas edycji na kompie dostać do tej informacji?


http://www.swiatobrazu.pl/forumwideo/viewtopic.php?f=36&t=23133&start=0


Jingiel 
Re: O wyższości D8
#134202
Author: rAniel
Date: Mon, 14 Mar 2011 08:51
20 lines
1649 bytes
W dniu 2011-03-14 06:47, Jingiel pisze:
>
>> Czy jest jakiś sposób na zautomatyzowanie tego procesu? W trakcie
>> wyświetlania materiału z kamery można w każdej chwili włączyć sobie
>> informację o dacie nagrania - czyli gdzieś to jest przechowywane. Jak się
>> podczas edycji na kompie dostać do tej informacji?
>
>
> http://www.swiatobrazu.pl/forumwideo/viewtopic.php?f=36&t=23133&start=0
>
>
> Jingiel


Dzięki, ale moje pytanie dotyczyło materiału z kamery HDD SD (czyli 
plików mpg). Z materiałem DV radzę sobie za pomocą DVTimeStamp.

-----
pozdrawiam
g.
Re: O wyższości D8
#134203
Author: Jingiel
Date: Mon, 14 Mar 2011 11:12
10 lines
1470 bytes
Dzięki, ale moje pytanie dotyczyło materiału z kamery HDD SD (czyli
plików mpg). Z materiałem DV radzę sobie za pomocą DVTimeStamp.

No to obawiam się, że z plikami mpg nie będzie tak łatwo, bo pewnie nie mają 
w sobie kodu czasowego. Jedyne info pewnie zapisane w nazwie pliku. Ale mogę 
się mylić.


Jingiel 
Re: O wyższości D8
#134204
Author: Piotrne
Date: Mon, 14 Mar 2011 19:00
97 lines
4432 bytes
rAniel pisze:

> Teraz - po przesiadce na kamerę SD z HDD - pracowicie dodaję ręcznie do
> początku każdej sceny tą samą informację i wzdycham za starą kamerą :(
> 
> Czy jest jakiś sposób na zautomatyzowanie tego procesu? 

Ja robię tak: mam nagrania w formacie .mp4, zgromadzone w jednym
katalogu. Jeden plik to jedno ujęcie, tak więc nie trzeba tu
niczego łączyć ani dzielić. Zakładam, że na początku każdego
ujęcia wyświetlę przez 2 sekundy datę i czas (od sekundy 1.0 do 3.0).

Najpierw używam skryptu w języku Perl do przejrzenia wszystkich
plików o nazwach *.mp4. Dla każdego takiego pliku odczytuję
datę i czas powstania i generuję odpowiedni plik .avs dla Avisyntha,
nakładający poleceniem Subtitle napis w lewym dolnym rogu.
Dodatkowo w tym skrypcie zapisane jest skalowanie obrazu
i inne operacje. Potem rekompresuję wszystkie .avs do xvid
albo innego formatu przy użyciu VirtualDub i zainstalowanych
kodeków.

Tak wygląda skrypt w Perlu:

===============================================

use warnings;
use strict;
use File::Basename;
use File::stat;
use Time::localtime;
use Time::Local;

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst,$czas);
my $i;
my @files=glob("*.mp4");  # odczyt zawartości katalogu - tylko pliki mp4

my $fname;
foreach $fname (@files)
{
   my $fileBaseName;
   my $dirName;
   my $fileExtension;
   ($fileBaseName, $dirName, $fileExtension) = fileparse($fname, ('\.[^.]+$') );
   my $outfname = $dirName."g".$fileBaseName."_1080p60.avs";
   print $outfname."\n";
   my $datetime_string1;
   my $datetime_string2;
   my $ftime = stat($fname)->mtime; # czas utworzenia pliku w sekundach od roku 1970
# tutaj ewentualna korekta czasu w sekundach (gdyby zegar kamery był źle ustawiony):
   $ftime += 15;
   $datetime_string1 = prettyd2($ftime);  # pierwsza sekunda filmu
   $ftime++;
   $datetime_string2 = prettyd2($ftime);  # druga sekunda filmu
   open FILE, ">", $outfname or die "Error opening ".$outfname." for writing\n";
   print FILE "# oryginalny film: 60fps progressive\n";
   print FILE "file = \"$dirName$fileBaseName.mp4\"\n";
   print FILE "directshowsource(file)\n";
   print FILE "Subtitle(\"$datetime_string1\",80,960,50,99,\"Arial\",60,\$ffffff)\n";
   print FILE "Subtitle(\"$datetime_string2\",80,960,100,149,\"Arial\",60,\$ffffff)\n";
   close FILE;
}

# usage: $string = prettydate( [$time_t] );
# omit parameter for current time/date
sub prettydate {
    @_ = localtime(shift || time);
    return(sprintf("%02d:%02d %02d/%02d/%04d", @_[2,1], $_[4]+1, $_[3], $_[5]+1900));
}

sub prettyd2 {
   my $mtime = shift;
   $czas = localtime($mtime);
   $year = $czas->year() + 1900;
   $mon = $czas->mon() + 1;
   $mday = $czas->mday();
   $sec = $czas->sec();
   $min = $czas->min();
   $hour = $czas->hour();
   return sprintf("%4d-%02d-%02d  %d:%02d:%02d",$year,$mon,$mday,$hour,$min,$sec);
}

===============================================

a tak wygenerowany przez niego jeden ze skryptów .avs:

===============================================

# oryginalny film: 60fps progressive
file = ".\SANY0325.mp4"
directshowsource(file)
Subtitle("2011-02-07  15:53:31",80,960,50,99,"Arial",60,$ffffff)
Subtitle("2011-02-07  15:53:32",80,960,100,149,"Arial",60,$ffffff)

===============================================


P.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads