Teraz jest piątek, 4 grudnia 2020, 13:57




Stwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
 Konwersja 4:3 na 16:9 
Autor Wiadomość
Nowy
Nowy

Dołączył: czwartek, 12 listopada 2020, 11:51
Posty: 3
Post Konwersja 4:3 na 16:9
Witam!

Chciałem się podzielić moim sposobem na konwersję materiałów w formacie 4:3 na format 16:9. Przydaje się to do konwersji starych filmów czy seriali telewizyjnych lub transmisji sportowych (generalnie wszystkiego, co powstało przed rokiem 2000).

Zwykłe wycięcie części obrazu, tzn. usunięcie pasów na dole i górze ekranu najczęściej daje wynik niezadowalający. W taki sposób traci się znaczną część obrazu. Szukałem w necie narzędzi, którymi mógłbym inaczej skonwertować wideo, ale nic nie znalazłem. Dlatego sam wymyśliłem metodę konwersji. Wycinana jest tylko nieznaczna część obrazu. Gdyby na tym poprzestać, to oczywiście powstałyby czarne pasy po lewej i prawej stronie. Aby tego uniknąć, obraz jest rozciągany - tyle że nie jest to zwykłe rozciągnięcie całości, ale stopniowe. Obraz w centrum pozostawia się w standardowych proporcjach, za to im dalej od centrum, tym stosuje się większe skalowanie. Dzięki temu twarze aktorów czy postaci pojawiające się w centrum mają niezmienione proporcje i wyglądają naturalnie. Bliżej brzegu następuje rozciągnięcie, co jednak nie jest zauważalne, ponieważ większość czasu patrzy się na obiekty centralne. Można powiedzieć, że stosowana jest sztuczka dotycząca percepcji obrazu.

W mojej ocenie rezultaty są lepsze niż zwykłe wycinanie czy stosowanie czarnych pasów po bokach albo wypełnianie nieaktywnego obszaru blurem. W zasadzie oglądając tak przygotowany materiał na panoramicznym telewizorze można zapomnieć, że jego źródłem był materiał w formacie 4:3.

A teraz jak to zrobić -> wykorzystałem ffmpeg i napisałem specjalne skrypty.

1) Konwersja software'owa materiału PAL

Oczywiście trzeba mieć plik ffmpeg.exe, a poniższy skrypt zapisać w pliku o nazwie np. konwersja.bat. Taki plik wykonywalny uruchamia się z linii komend, jako parametry podając nazwę pliku wejściowego i wyjściowego.

ffmpeg -c:v mpeg2video -i %1.mpg -vf "yadif=1:-1:0,hqdn3d=8,crop=720:480:y=48,scale=1152:720:flags=bicubic,split=11[v1][v2][v3][v4][v5][v6][v7][v8][v9][v10][v11];[v1]crop=96:720:x=0,scale=96+20:720:flags=bicubic[v1];[v2]crop=96:720:x=96,scale=96+16:720:flags=bicubic[v2];[v3]crop=96:720:x=192,scale=96+12:720:flags=bicubic[v3];[v4]crop=96:720:x=288,scale=96+8:720:flags=bicubic[v4];[v5]crop=96:720:x=384,scale=96+4:720:flags=bicubic[v5];[v6]crop=192:720:x=480[v6];[v7]crop=96:720:x=672,scale=96+4:720:flags=bicubic[v7];[v8]crop=96:720:x=768,scale=96+8:720:flags=bicubic[v8];[v9]crop=96:720:x=864,scale=96+12:720:flags=bicubic[v9];[v10]crop=96:720:x=960,scale=96+16:720:flags=bicubic[v10];[v11]crop=96:720:x=1056,scale=96+20:720:flags=bicubic[v11];[v1][v2][v3][v4][v5][v6][v7][v8][v9][v10][v11]hstack=inputs=11,pad=1280:720:x=4,setsar=1/1" -map 0:v -map 0:a:1 -f mp4 -c:v libx264 -preset veryfast -profile:v baseline -level 1.3 -b:v 5000k -c:a aac -ac 2 -b:a 256k -sn -map_metadata -1 -map_chapters -1 %1.mp4

Kluczowe miejsce skryptu to filtr video, który następuje po -vf w cudzysłowiu. Obraz jest dzielony na 11 fragmentów o różnym stopniu skalowania, a następnie łączony w całość. Parametry kodowania można zmieniać swobodnie (np. bitrate video lub audio).

2) Konwersja hardware'owa materiału PAL

To różni się tym, że do usuwania przeplotu stosuje się metodę wbudowaną w kartę graficzną NVidia, a nie yadif. Również pierwsze skalowanie wykonuje karta graficzna.

ffmpeg -hwaccel cuda -c:v mpeg2_cuvid -deint adaptive -crop 48x48x0x0 -resize 1152x720 -r 50 -i %1.mpg -vf "hqdn3d=8,split=11[v1][v2][v3][v4][v5][v6][v7][v8][v9][v10][v11];[v1]crop=96:720:x=0,scale=96+20:720:flags=bicubic[v1];[v2]crop=96:720:x=96,scale=96+16:720:flags=bicubic[v2];[v3]crop=96:720:x=192,scale=96+12:720:flags=bicubic[v3];[v4]crop=96:720:x=288,scale=96+8:720:flags=bicubic[v4];[v5]crop=96:720:x=384,scale=96+4:720:flags=bicubic[v5];[v6]crop=192:720:x=480[v6];[v7]crop=96:720:x=672,scale=96+4:720:flags=bicubic[v7];[v8]crop=96:720:x=768,scale=96+8:720:flags=bicubic[v8];[v9]crop=96:720:x=864,scale=96+12:720:flags=bicubic[v9];[v10]crop=96:720:x=960,scale=96+16:720:flags=bicubic[v10];[v11]crop=96:720:x=1056,scale=96+20:720:flags=bicubic[v11];[v1][v2][v3][v4][v5][v6][v7][v8][v9][v10][v11]hstack=inputs=11,pad=1280:720:x=4,setsar=1/1" -map 0:v -map 0:a:1 -f mp4 -c:v libx264 -preset veryfast -profile:v baseline -level 1.3 -b:v 5000k -c:a aac -ac 2 -b:a 256k -sn -map_metadata -1 -map_chapters -1 %1.mp4

3) Konwersja sofware'owa materiału NTSC

Materiały amerykańskie mają nieco inny format, więc trzeba zastosować zmodyfikowany skrypt.

ffmpeg -c:v mpeg2video -i %1.mpg -vf "yadif=1:-1:0,hqdn3d=4,crop=720:400:y=45,scale=1152:720:flags=bicubic,split=11[v1][v2][v3][v4][v5][v6][v7][v8][v9][v10][v11];[v1]crop=96:720:x=0,scale=96+20:720:flags=bicubic[v1];[v2]crop=96:720:x=96,scale=96+16:720:flags=bicubic[v2];[v3]crop=96:720:x=192,scale=96+12:720:flags=bicubic[v3];[v4]crop=96:720:x=288,scale=96+8:720:flags=bicubic[v4];[v5]crop=96:720:x=384,scale=96+4:720:flags=bicubic[v5];[v6]crop=192:720:x=480[v6];[v7]crop=96:720:x=672,scale=96+4:720:flags=bicubic[v7];[v8]crop=96:720:x=768,scale=96+8:720:flags=bicubic[v8];[v9]crop=96:720:x=864,scale=96+12:720:flags=bicubic[v9];[v10]crop=96:720:x=960,scale=96+16:720:flags=bicubic[v10];[v11]crop=96:720:x=1056,scale=96+20:720:flags=bicubic[v11];[v1][v2][v3][v4][v5][v6][v7][v8][v9][v10][v11]hstack=inputs=11,pad=1280:720:x=4,setsar=1/1" -f mp4 -c:v libx264 -preset veryfast -profile:v baseline -level 1.3 -b:v 5000k -c:a aac -ac 2 -b:a 256k -sn -map_metadata -1 -map_chapters -1 %1.mp4

4) Konwersja hardware'owa materiałów NTSC

ffmpeg -hwaccel cuda -c:v mpeg2_cuvid -deint adaptive -crop 45x35x0x0 -resize 1152x720 -r 60000/1001 -i %1.mpg -vf "hqdn3d=4,split=11[v1][v2][v3][v4][v5][v6][v7][v8][v9][v10][v11];[v1]crop=96:720:x=0,scale=96+20:720:flags=bicubic[v1];[v2]crop=96:720:x=96,scale=96+16:720:flags=bicubic[v2];[v3]crop=96:720:x=192,scale=96+12:720:flags=bicubic[v3];[v4]crop=96:720:x=288,scale=96+8:720:flags=bicubic[v4];[v5]crop=96:720:x=384,scale=96+4:720:flags=bicubic[v5];[v6]crop=192:720:x=480[v6];[v7]crop=96:720:x=672,scale=96+4:720:flags=bicubic[v7];[v8]crop=96:720:x=768,scale=96+8:720:flags=bicubic[v8];[v9]crop=96:720:x=864,scale=96+12:720:flags=bicubic[v9];[v10]crop=96:720:x=960,scale=96+16:720:flags=bicubic[v10];[v11]crop=96:720:x=1056,scale=96+20:720:flags=bicubic[v11];[v1][v2][v3][v4][v5][v6][v7][v8][v9][v10][v11]hstack=inputs=11,pad=1280:720:x=4,setsar=1/1" -f mp4 -c:v libx264 -preset veryfast -profile:v baseline -level 1.3 -b:v 5000k -c:a aac -ac 2 -b:a 256k -sn -map_metadata -1 -map_chapters -1 %1.mp4

Obraz wyjściowy ma rozdzielczość 1280x720.

Na koniec uwaga do wszystkich skryptów. Wpisany jest w nie filtr usuwający szumy hqdn3d (Higt Quality Denoiser 3D). Jego stosowanie zależy od jakości materiału, który konwertujemy. Jako ogólną heurystyczną zasadę mogę podpowiedzieć, że dla materiałów powstałych w latach '80 lub wcześniej stosowałem hqdn3d=8, dla materiałów z lat '90 hqdn3d=4, a dla tych z pierwszej dekady XXI wieku stosowanie tego filtra było zbędne (można usunąć ten fragment).


czwartek, 12 listopada 2020, 12:39
Zobacz profil
Aktywny bywalec
Aktywny bywalec

Dołączył: piątek, 6 czerwca 2008, 19:40
Posty: 1325
Lokalizacja: Warszawa
Post Re: Konwersja 4:3 na 16:9
Dzięki wielkie, na pewno się przyda.

Alternatywnie pojedyncze ujęcia można rozciągać za pomocą Mesh warp'a w After Effects, dzieląc obraz na kilka-kilkanaście wertykalnych linii podziału i każde z pół riozciągać w zależności od sytuacji w kadrze. Tyle, że ta metoda to oczywiście rzeźba jest.


piątek, 13 listopada 2020, 02:10
Zobacz profil
Aktywny bywalec
Aktywny bywalec

Dołączył: poniedziałek, 6 czerwca 2016, 18:29
Posty: 713
Post Re: Konwersja 4:3 na 16:9
Zawsze jakaś alternatywa. Nie wiem jak podany sposób faktycznie wygląda jednak coś podobnego miałem w starym telewizorze Panasonica. Takie dopasowanie ekranu. Mnie to strasznie irytowało.


piątek, 13 listopada 2020, 12:59
Zobacz profil
Aktywny bywalec
Aktywny bywalec

Dołączył: poniedziałek, 23 stycznia 2006, 15:20
Posty: 2072
Post Re: Konwersja 4:3 na 16:9
Zawsze uważałem i będę uważał takie niszczenie obrazu za amatorkę.


piątek, 13 listopada 2020, 15:48
Zobacz profil
Bywalec
Bywalec

Dołączył: sobota, 14 sierpnia 2010, 17:07
Posty: 28
Post Re: Konwersja 4:3 na 16:9
Robię to czasami na na Casablanca Szaphir /odradzam /, o ile środek obrazu jako tako , to boki przypominają - przy ruchu, jakby "falowanie w wodzie ",
Pozdrawiam


piątek, 13 listopada 2020, 16:04
Zobacz profil
Nowy
Nowy

Dołączył: czwartek, 12 listopada 2020, 11:51
Posty: 3
Post Re: Konwersja 4:3 na 16:9
Nie wiem jak robi to panasonic czy inne oprogramowanie. Skoro twierdzicie, że efekty są słabe, to tak pewnie jest. Spróbujcie tej metody. Używałem jej do meczów NBA, gdzie kamera ciągle jeździ w prawo i lewo i ogląda się to bez problemu, a nawet bardzo przyjemnie. Ewidentny plus jest taki, że napisy z wynikiem są widoczne w całości. A odczucie takie, jakby się było "bliżej wydarzeń" (w porównaniu do 4:3).

Oryginalny obraz 4:3
Załącznik:
Komentarz: NBA - oryginalny obraz 4:3
Bulls_oryginal.png
Bulls_oryginal.png [ 864.21 | Przeglądane 7 razy ]


Obraz rozciągnięty 16:9 (sylwetki zawodników są zbyt szerokie)
Załącznik:
Bulls_stretch.png
Bulls_stretch.png [ 958.15 | Przeglądane 6 razy ]


Obraz przycięty 16:9 (właściwe proporcje, ale napisy są ucięte)
Załącznik:
Bulls_cut.png
Bulls_cut.png [ 725.06 | Przeglądane 6 razy ]


poniedziałek, 16 listopada 2020, 14:09
Zobacz profil
Nowy
Nowy

Dołączył: czwartek, 12 listopada 2020, 11:51
Posty: 3
Post Re: Konwersja 4:3 na 16:9
Konwersja panoramiczna podaną metodą
Załącznik:
Bulls_conversion.png
Bulls_conversion.png [ 1.44 | Przeglądane 7 razy ]


Przekodowałem też sobie serial "Robin Hood" z lat '80. Na 6 odcinków, tylko w jednej scenie "falowanie" zwróciło moją uwagę.

Oryginalny obraz 4:3
Załącznik:
Robin_oryginal.png
Robin_oryginal.png [ 679.65 | Przeglądane 8 razy ]


Konwersja panoramiczna
Załącznik:
Robin - conversion.png
Robin - conversion.png [ 937.55 | Przeglądane 9 razy ]


Przy zwykłym skalowaniu pyski koni dotykałyby dolnej krawędzi obrazu. To by wyglądało podejrzanie.

Oczywiście, pochodnia jest szersza niż w oryginale, ale trzeba pamiętać, że gdy będziemy oglądać materiał bez porównywania, to nie zwrócimy na to uwagi. Po prostu nasz mózg przyjmie, że pochodnia ma być taka jaką widzimy. To co moglibyśmy ewentualnie rozpoznać to twarze, ale operator kamery dba o to, aby były w centrum kadru, a tam proporcje są idealne.


poniedziałek, 16 listopada 2020, 14:31
Zobacz profil
Aktywny bywalec
Aktywny bywalec

Dołączył: poniedziałek, 23 stycznia 2006, 15:20
Posty: 2072
Post Re: Konwersja 4:3 na 16:9
Polecam obejrzeć cały:
https://youtu.be/86QU7_SF16Q?t=158
Pozamiatane.


poniedziałek, 16 listopada 2020, 15:34
Zobacz profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Stwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 


Kto przegląda forum

Użytkownicy przeglądający to forum: Brak zalogowanych użytkowników i 7 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Powered by phpBB © phpBB Group.
Designed by Vjacheslav Trushkin for Free Forums/DivisionCore.
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL