[Linux] Mkv's herstellen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Dark_f
  • Registratie: Juli 2009
  • Laatst online: 06-12-2024
Beste,

Ik beschik over een samsung tv die video's kan afspelen via het netwerk. Echter is de software op die tv zeer gevoelig aan fouten in een videobestand. Een film die perfect speelt in vlc, geeft problemen op mijn tv. Voorbeelden zijn: niet kunnen doorspoelen, haperen, gewoon stoppen met spelen enz..

Een omslachtige oplossing die ik weet dat werkt is het videobestand hercoderen met ffmpeg. Dit duurt super lang en geeft mij meestal een groter bestand + kwaliteitsverlies.

Ik heb een programma'tje gevonden genaamd mkvalidator. Die kan op een paar seconden al de "fouten" vinden in een mkv. Blijkbaar bevat zowat elke gedownloade film een lijst van fouten.

Bestaat er een simpele tool (liefste command-line) die videobestanden kan herstellen? Niet enkel mkv, maar ook andere.

Ik weet dat er software bestaat die het videobestand on-the-fly transcodeerd waardoor alle fouten verdwijnen. Deze software gebruikt 100% cpu tijdens het afspelen en kan bij zwaardere bestanden zelf stotteren. (trage cpu). Dit heb ik dus liever niet. Ik wil de pc kunnen gebruiken tijdens het afspelen.

Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
ffmpeg kan ook alleen transcodenmuxen door de optie '-codec copy' te gebruiken. Wellicht bakt 'ie er daarna valide MKV's van :)

[ Voor 4% gewijzigd door Osiris op 06-05-2012 12:54 ]


Acties:
  • 0 Henk 'm!

  • Dark_f
  • Registratie: Juli 2009
  • Laatst online: 06-12-2024
Osiris schreef op zondag 06 mei 2012 @ 12:47:
ffmpeg kan ook alleen transcoden door de optie '-codec copy' te gebruiken. Wellicht bakt 'ie er daarna valide MKV's van :)
Maar deze methode duurt nog altijd zeer lang, kan gemakkelijk een dik uur zijn voor een grote film. Plus ik heb gelezen dat je met deze methode kwaliteitsverlies krijgt.

Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Dark_f schreef op zondag 06 mei 2012 @ 12:51:
[...]

Maar deze methode duurt nog altijd zeer lang, kan gemakkelijk een dik uur zijn voor een grote film. Plus ik heb gelezen dat je met deze methode kwaliteitsverlies krijgt.
Excuus, ik gebruikte het woordje transcoden waar ik transmuxen had moeten zeggen.

Door de optie '-codec copy' te gebruiken laat je de inhoud van de datastreams ongemoeid en verander je alleen de container. (En dat gaat reuzesnel.) Of in dit geval verander je hem niet van soort, maar hopelijk wel van 'correctheid'.

Acties:
  • 0 Henk 'm!

  • Dark_f
  • Registratie: Juli 2009
  • Laatst online: 06-12-2024
Ik krijg de volgende foutmelding:

D:\>ffmpeg.exe -i 1.mkv -codec copy 2.mkv
ffmpeg version N-40301-gc1fe2db Copyright (c) 2000-2012 the FFmpeg developers
  built on May  3 2012 11:44:06 with gcc 4.6.3
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-ru
ntime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libass
 --enable-libcelt --enable-libopencore-amrnb --enable-libopencore-amrwb --enable
-libfreetype --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libope
njpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libth
eora --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-
libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --e
nable-zlib
  libavutil      51. 49.100 / 51. 49.100
  libavcodec     54. 17.101 / 54. 17.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.104 /  2. 72.104
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
Input #0, matroska,webm, from '1.mkv':
  Metadata:
    creation_time   : 2011-10-15 20:53:08
  Duration: 01:58:07.06, start: 0.000000, bitrate: 6620 kb/s
    Stream #0:0(eng): Video: h264 (High), yuv420p, 1280x536, SAR 1:1 DAR 160:67,
 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Stream #0:1(eng): Audio: dts (DTS), 48000 Hz, 5.1(side), s16, 1536 kb/s (def
ault)
    Stream #0:2(eng): Subtitle: text
File '2.mkv' already exists. Overwrite ? [y/N] y
strptime() unavailable on this system, cannot convert the date string.
Output #0, matroska, to '2.mkv':
  Metadata:
    creation_time   : 2011-10-15 20:53:08
    encoder         : Lavf54.3.100
    Stream #0:0(eng): Video: h264, yuv420p, 1280x536 [SAR 1:1 DAR 160:67], q=2-3
1, 23.98 fps, 1k tbn, 1k tbc (default)
    Stream #0:1(eng): Audio: dts, 48000 Hz, 5.1(side), 1536 kb/s (default)
    Stream #0:2(eng): Subtitle: text
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
  Stream #0:2 -> #0:2 (copy)
Press [q] to stop, [?] for help
DTS 2005, next:2033000 st:1 invalid dropping
PTS 2005, next:2033000 invalid dropping st:1
[matroska @ 0000000003b1c010] Application provided invalid, non monotonically in
creasing dts to muxer in stream 1: 2033 >= 2033
av_interleaved_write_frame(): Invalid argument

Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Hmm, die bug heb ik geen last meer van, omdat ik de ffmpeg vanuit SVN compile op m'n server (Linux). Misschien dat jouw versie er nog wel last van heeft.

Je zou met mkvextract en merge kunnen kijken of je daar wat mee kunt spelen, maar dat is MKV-only en dat zocht je niet echt.

Acties:
  • 0 Henk 'm!

  • Dark_f
  • Registratie: Juli 2009
  • Laatst online: 06-12-2024
Ja ik gebruik momenteel windows, maar binnenkort stap ik over op linux. Als ik ffmpeg op linux compileer ga ik hier geen last van hebben?
Pagina: 1