Tänkte testa gränserna för vad AV1 codecen klarar av med hjälp av en massa gamla mpeg2-klipp med interlacing. Inte nog med att den redan idag kan hålla samma kvalitet som HEVC/H.265 vid 40% lägre bitrate, utan AV1 har variabel framerate. Man man ha en video som har 60 fps ena sekunden och stillbild nästa för att gå upp till 30 osv.
Har en massa avsnitt av Computer Chronicles som innehåller både sekvenser med militära simulatorer som går i 60 fps och sekvenser som är som SVT:s skäggen i en katalog jag skulle behöva sortera efter upplösning.
ffprobe kan ge mig all output jag behöver, det händer dock skumma saker om jag försöker tillämpa pipes på outputen och om jag försöker bara få ut texten till en fil så blir raderna förkortade?
Så här ser outputen ur ffprobe ut i terminalen.
Så här ser outputen ut om jag kör >> på den.
Dvs den slutar skriva innan det jag är intresserad av dyker upp.
Kör jag tee efter kommandot blir det ingen output. Inte ens med 2&1>
Som en for-loop blir det ingen output heller.
Hur kan ffprobe både ge ofullständig output från sig själv och ingen output via andra program?
Rundar den stdout men skriver till terminalen på andra sätt?
En workaround som funkar är att klippa och klistra ur outputen den vägen.
Har en massa avsnitt av Computer Chronicles som innehåller både sekvenser med militära simulatorer som går i 60 fps och sekvenser som är som SVT:s skäggen i en katalog jag skulle behöva sortera efter upplösning.
Kod:
find . -type f -name "*.mpeg" -exec ffprobe {} -hide_banner -print_format flat \;
ffprobe kan ge mig all output jag behöver, det händer dock skumma saker om jag försöker tillämpa pipes på outputen och om jag försöker bara få ut texten till en fil så blir raderna förkortade?
Så här ser outputen ur ffprobe ut i terminalen.
Citat:
Input #0, mpeg, from './Computer Chronicles - 02x15 - Low End Computers.mpeg':
Duration: 00:29:36.27, start: 0.333744, bitrate: 5305 kb/s
Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, top first), 720x480 [SAR 8:9 DAR 4:3], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16p, 224 kb/s
Duration: 00:29:36.27, start: 0.333744, bitrate: 5305 kb/s
Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, top first), 720x480 [SAR 8:9 DAR 4:3], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16p, 224 kb/s
Så här ser outputen ut om jag kör >> på den.
Citat:
./Computer Chronicles - 02x15 - Low End Computers.mpeg,2,0,mpeg,MPEG-PS (MPEG-2 Program Stream),0.333744,1776.274501,1178054829,5305733,26
Dvs den slutar skriva innan det jag är intresserad av dyker upp.
Kör jag tee efter kommandot blir det ingen output. Inte ens med 2&1>
Som en for-loop blir det ingen output heller.
Kod:
for file in *.mpeg ; do ffprobe "$file" -hide_banner -print_format flat ; done | tee textfil
Hur kan ffprobe både ge ofullständig output från sig själv och ingen output via andra program?
Rundar den stdout men skriver till terminalen på andra sätt?
En workaround som funkar är att klippa och klistra ur outputen den vägen.