Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2011-10-16 22:09:28

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Avidemux - dziwne efekty

Nagrałem sobie film za pomocą vlc - 8fps, profil video H.264 + ACC (MP4), bitrate 800kbps.

Chciałem go trochę przerobić. Przeróbka polegała na wycięciu paruset klatek ze środka filmu. Efekt jaki otrzymałem można zobaczyć tutaj - http://imageshack.us/clip/my-videos/27/1v6.mp4/

Otworzyłem nagrany film.mp4 w avidemuxie, dostałem poniższy komunikat:

Kod:

Wykryto H.264

Jeśli plik wykorzystuje klatki typu B jako odniesienia może to prowadzić do awarii lub drgania.
Avidemux może użyć innego trybu, który jest bezpieczny, ale MOŻESZ STRACIĆ DOKŁADNOŚĆ KLATEK.
Czy chcesz użyć tego trybu?

Gdy użyję trybu bezpiecznego, mam zielony obraz. Przynajmniej do puszczenia filmu. Dlatego też za drugim razem kliknąłem "anuluj" i dostałem okienko o następującej treści:

Kod:

Indeks jest nieaktualny

Powinieneś użyć Narzędzia->Ponownie utwórz klatki. Zrobić to teraz?

Gdy wcisnę "tak" lub "nie" zostaje załadowany film bez tej zielonej, pierwszej klatki.

W każdej z trzech opcji, dostaję film, który można zobaczyć powyżej. Dodam, że powyższy materiał jest krótki ale przy dłuższych wersjach po paru czy parunastu sekundach obraz wraca do normy.

Obraz oraz dźwięk jest ustawiony na "kopiuj", format na .avi. W przypadku wybrania formatu .mp4, dostaję taki komunikat:

Kod:

Błąd klatki typu I

Rozpoczynająca klatka nie jest klatką typu I.
Proszę przesunąć znacznik A.

Z tego co patrzyłem, przy filmach .avi nie ma tego problemu.

Czy efekt zaprezentowany na powyższym filmie, ma jakąś fachową nazwę?
Czy da się wyciąć kawałek z filmu .mp4 za pomocą axidemuxa?
Czy istnieje inny program, za pomocą którego mógłbym wyciąć daną scenę z filmu definiując klatki lub czas w s lub ms, przy niedokonywaniu rekompresji filmu?
Czy tego typu błędy w avidemuxie w stosunku do filmów mp4 są normalne, czy może vlc coś źle koduje?

Offline

 

#2  2011-10-16 22:31:46

  Huk - Smoleńsk BULWA!

Huk
Smoleńsk BULWA!
Zarejestrowany: 2006-11-08

Re: Avidemux - dziwne efekty

@morfik:

Avidemux niestety ma jakieś dziwaczne problemy z h264, czasami tryb bezpieczny działa ok, czasami coś się rozjeżdża, a czemu to wiedzą tylko twórcy programu.

Natomiast - o ile dobrze zrozumiałem - Ty chcesz wyciąć ze środka filmu kilka klatek, bez rekompresji tego filmu - i tutaj już Avidemux nie ma nic do tego.

Bez rekompresji się raczej nie obejdzie, problem jest taki że w nowych kodekach w celu zaoszczędzenia bitrate'u stosuje się odniesienia z klatki nastepnej do poprzedniej, czyli mamy klatki ABCD to klatka A nie odnosi się do niczego i jest tak zwaną klatką kluczową (klatką typu I), B odnosi się do A (klatka typu P), zaś C może się odnieść zarówno do B jak i do D (klatka typu B) jak wywalisz klatkę B to klatka C nie ma się jak poprawnie wy-renderować bo nie ma się do czego odnieść - stąd się bierze efekt jak na filmiku, który zniknie jak tylko zostanie stworzona nowa klatka kluczowa (a jest ona tworzona albo co ileś klatek, albo po wykryciu nowej sceny).

Wydaje mi się że rozwiązaniem było by tworzenie tylko klatek typu I przechwytywania filmu, a potem dopiero rekompresja i wycinanie. Da się to chyba ustawić w zaawansowanych opcjach kodowania.

Generalnie radzę zapoznać się z tym:

http://en.wikipedia.org/wiki/B-frame#Bi-directional_predicted_frames_.28or_slices.2C.29_a.k.a._B_pictures

I cytat:

The three major picture types used in the different video algorithms are I, P and B. They are different in the following characteristics:
-I‑frames are the least compressible [b]but don't require other video frames to decode.[/b]
-P‑frames can use data from previous frames to decompress and are more compressible than I‑frames.
-B‑frames can use both previous and forward frames for data reference to get the highest amount of data compression.[/quote]
W ogóle H264/MPEG4/2/1 niezbyt się nadają do przechwytywania obrazu który miałby potem podlegać dalszej obróbce, do tego najlepiej używać jakichś kodeków w stylu MJPEG.

Pozdro.

Offline

 

#3  2011-10-16 22:49:35

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Avidemux - dziwne efekty

Przypatrzyłem się bardziej i faktycznie avidemux pokazuje czy klatka jest I,P,B. I na całym nagranym filmie jest Tylko jedna klatka "I" i występuje jako 3 na filmie. Ale generalnie gdyby klatek "I" było więcej, to można by w miejscu wystąpienia klatki "I" zacząć ciąć film i efektu zaprezentowanego na powyższym filmie by już nie było? I czy istnieje możliwość stworzenia takiej klatki? No bo skoro mamy ciąg klatek opartych o klatkę "I", to chyba można by stworzyć taką klatkę, w miejscu gdzie chcemy zacząć ciąć film, by klatki w nowym filmie odnosiły się do tego momentu? I czy ewentualnie można za pomocą avidemuxa lub innego programu zrobić listę klatek "I", tak by można było wywnioskować w którym momencie można by ciąć film?

Offline

 

#4  2011-10-16 23:25:06

  Huk - Smoleńsk BULWA!

Huk
Smoleńsk BULWA!
Zarejestrowany: 2006-11-08

Re: Avidemux - dziwne efekty

@morfik:

Ale generalnie gdyby klatek "I" było więcej, to można by w miejscu wystąpienia klatki "I" zacząć ciąć film i efektu zaprezentowanego na powyższym filmie by już nie było?[/quote]
Tak.

I czy istnieje możliwość stworzenia takiej klatki? No bo skoro mamy ciąg klatek opartych o klatkę "I", to chyba można by stworzyć taką klatkę, w miejscu gdzie chcemy zacząć ciąć film, by klatki w nowym filmie odnosiły się do tego momentu?[/quote]
Tak... poprzez re kompresję obrazu ;] . Być może da się jakoś inaczej - nie siedzę na tyle "głęboko" w tym temacie, ale troszkę swego czasu czytałem i nigdy o takiej opcji nie słyszałem.

Najprościej było by zrobić tak że wycinasz co tam chcesz, i rekompresujesz obszar od momentu końca cięcia (tam gdzie są klatki P lub B) do najbliższej klatki kluczowej a następnie scalasz wszystkie kawałki, najczęściej ten obszar do klatki kluczowej to jest kilka sekund filmu więc da się znieść.

I czy ewentualnie można za pomocą avidemuxa lub innego programu zrobić listę klatek "I", tak by można było wywnioskować w którym momencie można by ciąć film?[/quote]
W Avidemux'ie klikasz po prostu na pasku na "Next keyframe"/"Previous keyframe" i przenosi Cie do najbliższej ;] .

Ostatnio edytowany przez Huk (2011-10-16 23:25:22)

Offline

 

#5  2011-10-16 23:39:47

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Avidemux - dziwne efekty

Ok, to jeszcze jedno pytanie - który z poniższych profili nadaje się najlepiej do nagrywania i późniejszej obróbki bez rekompresji?

http://img696.imageshack.us/img696/2921/121dp.png

Offline

 

#6  2011-10-16 23:55:50

  Huk - Smoleńsk BULWA!

Huk
Smoleńsk BULWA!
Zarejestrowany: 2006-11-08

Re: Avidemux - dziwne efekty

Najlepiej to było by jakbyś dodał sobie własny profil i wybrał tam:

Kod:

Enkapsulacja MJPEG
Video:MJPEG
Audio:MP3

Potem możesz szaleć - jedyny minus to fakt że trzeba nagrywać w dość kosmicznym bitrate (8000 albo i więcej), ale potem można to spokojnie zrekompresować bez obaw.

Pozdro.

EDIT:

A jeżeli chciałbyś nagrywać coś czego nie masz potem zamiaru rekompresować, to - o ile sprzęt uciągnie - H264 "powinno być najlepszym wyborem... inna sprawa to jakość tych kodeków w VLC...

Ostatnio edytowany przez Huk (2011-10-17 00:02:36)

Offline

 

#7  2011-10-16 23:58:23

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Avidemux - dziwne efekty

Dzięki wielkie!

Offline

 

#8  2012-11-03 22:34:26

  vnu007dl - Użytkownik

vnu007dl
Użytkownik
Zarejestrowany: 2010-11-01

Re: Avidemux - dziwne efekty

Podłączę się do tematu bo mam w avidemuxie problem z tymi  I frame i nie mogę zapisać pliku bo wyskakuje mi komunikat, że początkowa klatka nie jest klatką typu I, no to nieważne czy ręcznie, czy szukam automatycznie następnej kluczowej klatki, nic z tego, nie da się zapisać pliku. Co z tym fantem zrobić? jakim innym narzędziem pod linuksem wyciąć kawałek z filmu bez zmiany kodowanie itp?

Offline

 

#9  2012-11-04 08:31:31

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: Avidemux - dziwne efekty

Jaki format tego pliku ?


[b]Problemy rozwiązujemy na forum nie na PW[/b] -> Niech inni na tym skorzystają.
[url=http://dug.net.pl/]Polski portal Debiana[/url]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.011 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00011 SET CHARSET latin2
0.00006 SET NAMES latin2
0.00097 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.139.103.241' WHERE u.id=1
0.00076 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.139.103.241', 1734047772)
0.00057 SELECT * FROM punbb_online WHERE logged<1734047472
0.00053 SELECT topic_id FROM punbb_posts WHERE id=183341
0.00216 SELECT id FROM punbb_posts WHERE topic_id=19885 ORDER BY posted
0.00073 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=19885 AND t.moved_to IS NULL
0.00011 SELECT search_for, replace_with FROM punbb_censoring
0.00078 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=19885 ORDER BY p.id LIMIT 0,25
0.00126 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=19885
Total query time: 0.00804 s