FFMPEG-Scale video ohne Filterung
Ich interessiere mich für die Skalierung ein video zu einer größeren Größe, ohne irgendwelche filter oder so etwas. Die Ausgabe sollte das video sehen sehr pixelig. Wie mache ich das in FFMPEG?
Auf Anregung von Ronald S. Bultje, ich bin mit dem Nachbar-flag. Ich habe auch beschlossen, die rawvideo-codec zu vermeiden Kompression.
Den aktuellen Befehl, den ich verwende ist
ffmpeg -i vid.avi -s 800x800 -sws_flags neighbor -sws_dither none -vcodec rawvideo vid2.avi
Die Befehlszeile Ausgabe dieses Befehls wird
ffmpeg version 2.7 Copyright (c) 2000-2015 the FFmpeg developers
built with Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-libtheora --enable-libschroedinger --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libspeex --enable-libass --enable-libbluray --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype --enable-libfribidi --disable-indev=jack --disable-outdev=xv --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/clang --enable-vda --arch=x86_64 --enable-yasm --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid
libavutil 54. 27.100 /54. 27.100
libavcodec 56. 41.100 /56. 41.100
libavformat 56. 36.100 /56. 36.100
libavdevice 56. 4.100 /56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 /53. 3.100
Input #0, avi, from 'vid.avi':
Duration: 00:00:25.00, start: 0.000000, bitrate: 226 kb/s
Stream #0:0: Video: rawvideo, pal8, 80x80, 206 kb/s, 4 fps, 4 tbr, 4 tbn, 4 tbc
File 'vid2.avi' already exists. Overwrite ? [y/N] y
Output #0, avi, to 'vid2.avi':
Metadata:
ISFT : Lavf56.36.100
Stream #0:0: Video: rawvideo, pal8, 800x800, q=2-31, 200 kb/s, 4 fps, 4 tbn, 4 tbc
Metadata:
encoder : Lavc56.41.100 rawvideo
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> rawvideo (native))
Press [q] to stop, [?] for help
frame= 100 fps=0.0 q=0.0 Lsize= 62608kB time=00:00:25.00 bitrate=20515.4kbits/s
video:62600kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.012614%
- Terminologie: Waage selbst ist ein filter... also deine Anfrage ist ein bisschen verwirrend
Du musst angemeldet sein, um einen Kommentar abzugeben.
oder
Der kritische Teil ist hier
flags
oder-sws_flags
, wählt der filter (und andere scaling-bezogene flags). Die Standard-filter-Wert ist bicublin (IIRC), was bedeutet, dass eine Bikubisch luma und die Bilineare chroma-filter. Nächste-Nachbar wird tun, was Sie für Fragen.Sehen scaler Optionen für eine Liste anderer Skalierung algorithmen.
-vcodec rawvideo
option, aber jetzt gibt es dithering-Störgeräusche, die ich nicht entfernen kann mit der-sws_dither none
option.ffmpeg -i vid.avi -s 800x800 -sws_flags neighbor -sws_dither none -vcodec rawvideo vid2.avi
Können Sie Reich Ihr Ziel vielleicht mit scale-down und dann ein scale-up wie:
Den 4 Sie ändern können, um Ihre Bedürfnisse.