Video grabbing

Vladimír Macek macek na sandbox.cz
Sobota Duben 17 23:39:52 CEST 2021


Ahoj,

se zachytáváním a zpracováním videa nemám moc zkušeností. Mám ale od svých 
přátel asi padesát VHS-C kazet k nagrebování. Mám USB grabber a podařilo se 
mi doladit tento příkaz:

ffmpeg  -f v4l2  -i /dev/video1 -f pulse -i default -vf yadif output.mpg

Ten yadif pěkně odstraní prokládání (interlacing).

Výstup příkazu jsem dal do přílohy stejně jako výstup mplayer -identify.

Leze z toho slušné video s dobře syncnutým audiem. Přijatelné - samozřejmě 
vzhledem k době a tehdejší technice.

Mohl bych rovnou začít, ale uvažuju dopředu:

Těch kazet je hodně a zčásti jsou nenahrané. Do přehrávače chci sázet jednu 
za druhou a jen pouštět grabbing. Pak ať si z toho kamarádka vystříhá 
zajímavé věci.

Můžu zkušenější z vás požádat o další volby ffmpeg, které by to jednak 
případně mohly nějak vylepšit, udělaly to praktičtějším? Tedy taky jaký 
vhodný výstupní formát a jeho parametry zvolit?

Měl jsem takovou představu, že by se to rovnou rozumně komprimovalo 
ztrátově, ale stále dalo později stříhat bez rekomprese. Je taková možnost? 
Pokud ano, jakým nástrojem v Linuxu nebo Windows?

Nebo mám ukládat bezeztrátově pro ten pozdější střih? Pokud ano, jakými 
volbami?

Máte nějaká další doporučení?

Díky!

Vláďa


------------- další část ---------------
$ ffmpeg  -f v4l2  -i /dev/video1 -f pulse -i default -vf yadif output.mpg

Input #0, video4linux2,v4l2, from '/dev/video1':
  Duration: N/A, start: 1446436.531689, bitrate: 165888 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 720x576, 165888 kb/s, 25 fps, 25 tbr, 1000k tbn, 1000k tbc
Guessed Channel Layout for Input Stream #1.0 : stereo
Input #1, pulse, from 'default':
  Duration: N/A, start: 1618689157.491766, bitrate: 1536 kb/s
    Stream #1:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg1video (native))
  Stream #1:0 -> #0:1 (pcm_s16le (native) -> mp2 (native))
If you want the mpeg file to be compliant to some specification
Like DVD, VCD or others, make sure you set the correct buffer size
Output #0, mpeg, to 'output.mpg':
  Metadata:
    encoder         : Lavf58.45.100
    Stream #0:0: Video: mpeg1video, yuv420p, 720x576, q=2-31, 200 kb/s, 25 fps, 90k tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.91.100 mpeg1video
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
    Stream #0:1: Audio: mp2, 48000 Hz, stereo, s16, 384 kb/s
    Metadata:
      encoder         : Lavc58.91.100 mp2

$ mplayer -identify  output.mpg:

ID_VIDEO_CODEC=ffmpeg1
ID_DEMUXER=mpegps
ID_VIDEO_FORMAT=0x10000001
ID_VIDEO_BITRATE=0
ID_VIDEO_WIDTH=720
ID_VIDEO_HEIGHT=576
ID_VIDEO_FPS=25.000
ID_VIDEO_ASPECT=0.0000
ID_AUDIO_FORMAT=80
ID_AUDIO_BITRATE=0
ID_AUDIO_RATE=0
ID_AUDIO_NCH=0
ID_START_TIME=0.53
ID_LENGTH=0.00
ID_SEEKABLE=1
ID_CHAPTERS=0


Další informace o konferenci Linux