Przechwyć wideo z symulatora iOS do podglądu aplikacji


398

Okej, więc możemy teraz przesyłać podgląd wideo naszych aplikacji w App Store. Według Apple powinniśmy to zrobić z urządzeniem z systemem iOS8 OSX 10.10.. Problem polega na tym, że musisz mieć wszystkie różne urządzenia (4 ”, 4,7”, 5,5 ”i iPad).

Czy jest na to alternatywa?

Mam na myśli uchwycenie wideo z symulatora. Problem polega na tym, że ekran urządzenia jest większy niż mój FullHDmonitor, gdy jest wyświetlany w rozdzielczości 100%. Jakieś rozwiązanie, które może przechwytywać wideo bezpośrednio z symulatora w pełnej rozdzielczości?

Edycja: Ponieważ wiele osób odpowiada na pytania, nie pytam, pozwól mi powiedzieć: - Nagrywanie jednego rozmiaru urządzenia i skalowanie nie jest tym, o co pytam; - Jak nagrać dowolny podgląd aplikacji, nie jest to, o co proszę; - Nie pytam o to, jak robisz swoje zapowiedzi;

Co ja pytając to można nagrywać wideo z symulatora w 100% Rozdzielczość jeśli nie mieszczą się na ekranie?

Odpowiedzi:


731

Dla Xcode 8.2 lub nowszego

Możesz robić filmy i zrzuty ekranu z symulatora za pomocą xcrun simctlnarzędzia wiersza polecenia do sterowania symulatorem

  1. Uruchom aplikację na symulatorze
  2. Otwórz terminal
  3. Uruchom polecenie

    • Aby zrobić zrzut ekranu

      xcrun simctl io booted screenshot <filename>.<file extension>

      Na przykład:

      xcrun simctl io booted screenshot myScreenshot.png

    • Aby zrobić wideo

      xcrun simctl io booted recordVideo <filename>.<file extension>

      Na przykład:

      xcrun simctl io booted recordVideo appVideo.mov

  4. Naciśnij, ctrl + caby zatrzymać nagrywanie wideo.

Domyślną lokalizacją dla utworzonego pliku jest bieżący katalog.

Xcode 11.2 i nowsze wersje dają dodatkowe opcje.

Informacje o wersji Xcode 11.2 Beta

Nagrywanie wideo simctl produkuje teraz mniejsze pliki wideo, obsługuje kompresję HEIC i korzysta z obsługi kodowania sprzętowego, jeśli jest dostępna. Ponadto przywrócono możliwość nagrywania wideo na urządzeniach z systemem iOS 13, tvOS 13 i watchOS 6.

Możesz użyć dodatkowych flag:

xcrun simctl io --help
Set up a device IO operation.
Usage: simctl io <device> <operation> <arguments>

...

    recordVideo [--codec=<codec>] [--display=<display>] [--mask=<policy>] [--force] <file or url>
        Records the display to a QuickTime movie at the specified file or url.
        --codec      Specifies the codec type: "h264" or "hevc". Default is "hevc".

        --display    iOS: supports "internal" or "external". Default is "internal".
                     tvOS: supports only "external"
                     watchOS: supports only "internal"

        --mask       For non-rectangular displays, handle the mask by policy:
                     ignored: The mask is ignored and the unmasked framebuffer is saved.
                     alpha: Not supported, but retained for compatibility; the mask is rendered black.
                     black: The mask is rendered black.

        --force      Force the output file to be written to, even if the file already exists.

    screenshot [--type=<type>] [--display=<display>] [--mask=<policy>] <file or url>
        Saves a screenshot as a PNG to the specified file or url(use "-" for stdout).
        --type       Can be "png", "tiff", "bmp", "gif", "jpeg". Default is png.

        --display    iOS: supports "internal" or "external". Default is "internal".
                     tvOS: supports only "external"
                     watchOS: supports only "internal"

                     You may also specify a port by UUID
        --mask       For non-rectangular displays, handle the mask by policy:
                     ignored: The mask is ignored and the unmasked framebuffer is saved.
                     alpha: The mask is used as premultiplied alpha.
                     black: The mask is rendered black.

Teraz możesz zrobić zrzut ekranu jpegz maską (dla wyświetlaczy innych niż prostokątne) i kilkoma innymi flagami:

xcrun simctl io booted screenshot --type=jpeg --mask=black screenshot.jpeg


5
Dostałem też „Nie udało mi się stworzyć metalowego urządzenia do zapisu wideo”. Myślę, że to dlatego, że nasze komputery Mac są za stare, aby obsługiwać Metal! Idąc za komunikatem o błędzie, używa Metal API API do przechwytywania danych wyjściowych symulatora, a Metal działa tylko na komputerach Mac> 2012: imore.com/here-are-macs-work-os-x-el-capitans-metal
andrewf

17
Czy można wyświetlać akcenty na wideo xcrun?
kelin

18
Daje mi to słabą jakość wideo.
Kashif

8
Moje wideo miało złą jakość przy użyciu powyższego polecenia. Określenie mp4 naprawiło dla mnie problem:xcrun simctl io booted recordVideo --type=mp4 <PATH TO VIDEO FILE>.mp4
Andy Novak

5
Liczba klatek na sekundę była bardzo niska podczas nagrywania z ustawieniami domyślnymi na MacBooku 2013. Określenie --codec=h264rozwiązało problem i zapewniło płynne odtwarzanie wideo.
Jeffrey Fulton

208

Możesz użyć QuickTime Playerdo nagrania ekranu.

  • otwarty QuickTime Player
  • Wybierz Filez menu
  • Wybierz New Screen recording

Teraz w Screen Recordingoknie kliknij przycisk nagrywania.

Zapewni to opcję nagrania całego ekranu lub wybranej części ekranu.

Będziesz musiał dokonać wyboru symulatora, aby nagrać tylko część symulatora.


19
TO jest jedyna poprawna odpowiedź na pytanie. Wszystkie pozostałe odpowiedzi wymagają korzystania z urządzenia.
KPM

1
To działa także w przypadku korzystania z symulatora systemu iOS, który jest większy niż rzeczywisty ekran (powiedzmy, iPad Pro 12,7" )?
DrMickeyLauer

7
To nie zadziała, jeśli rozmiar symulatora jest większy niż ekran. Możesz nagrać cały ekran swojego Maca lub wybraną część ekranu.
Kalpesh

7
To działa, ale zobaczysz mysz wskazującą na symulatorze. Może to być przydatne do celów testowych, ale nie do filmów z kampanii marketingowych.
Alan Andrade

Możesz użyć Cursorcerer, aby ukryć kursor myszy podczas nagrywania ekranu za pomocą QuickTime.
user47712,

73

Apple zaleca robienie tego na rzeczywistym urządzeniu i ma przewodnik, jak to zrobić za pomocą QuickTime i iMovie na iOS i OS X: https://developer.apple.com/app-store/app-previews/imovie/Creating-App -Previews-with-iMovie.pdf

Podsumowanie:

Przechwytywanie nagrań ekranu za pomocą QuickTime Player

  1. Podłącz urządzenie iOS do komputera Mac za pomocą kabla Lightning.
  2. Otwórz QuickTime Player.
  3. Wybierz Plik> Nowe nagranie filmu.
  4. W wyświetlonym oknie wybierz urządzenie z systemem iOS jako źródło wejściowe kamery i mikrofonu.

Utwórz podgląd aplikacji za pomocą iMovie

Importuj nagrania ekranu

Następnie zaimportujesz pliki nagrań ekranu przechwycone za pomocą QuickTime Player do iMovie. W iMovie:

  1. Wybierz Plik> Importuj media.
  2. W wyświetlonym oknie wybierz pliki nagrań ekranu.

Utwórz projekt podglądu aplikacji

Aby rozpocząć nowy projekt podglądu aplikacji, wybierz Plik> Podgląd nowej aplikacji. Pojawi się oś czasu, w której możesz dodawać i układać klipy, aby utworzyć podgląd.


1
Wymagania systemowe: • Urządzenie iOS ze złączem Lightning, wyświetlaczem Retina i iOS 8. • Mac z systemem OS X Yosemite. • iMovie dla komputerów Mac w wersji 10.0.6 lub nowszej. I iMovie nie jest darmowy.
Borzh

29
To dobra odpowiedź, z tym wyjątkiem, że NIE przechwytuje wideo z symulatora (tylko z rzeczywistego urządzenia).
race_carr

1
nagrywanie ekranu można teraz dostać prawie 60 kl./s podczas appstore akceptuje tylko 30 fps, co czyni to nie spędzaj użytkowej
PetrV

11
Nie mam różnego rodzaju urządzeń
János,

1
@PetrV Walczyłem z iMovie, chcąc wyeksportować wszystko w 60 FPS na zawsze ... Okazuje się, że możesz przywrócić duże wideo iMovie 60 fps z powrotem do Quicktime i EXPORT z Quicktime jak na iPad2, który obniża częstotliwość klatek i cieszy wideo z iTunesConnect. Zupełnie niezrozumiały, ale mam już dość majstrowania przy tym i zadziałało.
Dave Levy

62

Tak naprawdę jestem zaskoczony, że nikt nie podał mojej odpowiedzi. Oto, co robisz (zadziała, jeśli masz co najmniej 1 odpowiednie urządzenie):

  1. Nagraj, edytuj i zakończ podgląd aplikacji za pomocą posiadanego urządzenia.
  2. Eksportuj jako plik.
  3. Przejdź do symulatorów i wydrukuj 1 zrzut ekranu dla każdego z różnych rozmiarów iPhone'a.
  4. Utwórz nową wersję podglądu aplikacji w iMovie.
  5. WSTAW zrzut ekranu o pożądanym rozmiarze, a następnie dodaj plik podglądu aplikacji, który już utworzyłeś.
  6. Eksportuj za pomocą Udostępnij -> Podgląd aplikacji
  7. Powtórz kroki od 4 do 6 dla nowych rozmiarów.

Powinieneś mieć możliwość uzyskania podglądu aplikacji w żądanej rozdzielczości.


8
Eric, jesteś geniuszem. To działa idealnie! Musiałem też zrobić zrzuty ekranu symulatora ze 100% ekranem.
Swindler,

2
Eric, świetna odpowiedź. Dziękuję Ci bardzo!
Fiolka Dominique

Czasami możesz chcieć utworzyć taki dla iPada jako 900x1200, a następnie użyć tego polecenia, aby zmienić go w rozdzielczość iPhone'a, z pustymi pasami u góry iu dołu: ffmpeg -i appPrevw_ipad.mp4 -vf scale=1080:-1,pad=1080:1920:0:200:white appPrevw_iphone.mp4 . 200 to pionowe umieszczenie (krótszej) zawartości iPada. Możesz wziąć to jako bazę i dodać więcej rzeczy w pustych słupkach.
ishahak

2
To najlepsze rozwiązanie.
CodyMace

lol proporcje iPhone'a plus / normal różnią się od X, więc nie działa i nie jest dobrym pomysłem na przycięcie filmu
Reza.Ab

43

Możesz nagrać część ekranu za pomocą wbudowanego narzędzia do zrzutów ekranu:

  1. Naciśnij Shift-Command-5, aby wyświetlić panel sterowania.
  2. Wybierz wprowadź opis zdjęcia tutaj.
  3. Wybierz część ekranu, którą chcesz nagrać. To byłby symulator iPhone'a.
  4. Kliknij, wprowadź opis zdjęcia tutajaby zatrzymać nagrywanie.
  5. Miniatura pojawi się w prawym dolnym rogu ekranu. Możesz go edytować przed zapisaniem.

Jeśli chcesz wizualizować kliknięć myszką, po krok 1 Wybierz opcje sterowania i umożliwiają Pokaż kliknięć myszą .


1
Zawsze miło jest korzystać z wbudowanych narzędzi. Przed Mojave korzystałem z licencjonowania narzędzia . Generuje gify, które wymagają mniej miejsca niż plik .mov. ( cockos.com/licecap | licecap search brew )
Apoc

Nadal pracuje w Catalinie. Uwaga: pokazuje wskaźnik myszy, a także kliknięcia ...
leanne

łatwe i wystarczające ~
kjian

30

Powinieneś używać QuickTime w Yosemite aby połączyć się i nagrać ekran swoich urządzeń iOS.

iPhone portret

Po zakończeniu nagrywania możesz użyć iMovie do edycji wideo. Podczas pracy z podglądem aplikacji portretowej na iPhone'a rozdzielczość musi być, 1080x1920ale iMovie może eksportować tylko w 16:9( 1920x1080).

Jednym rozwiązaniem byłoby zaimportowanie nagranego wideo z rozdzielczością 1080x1920i obrócenie go o 90 stopni. Następnie wyeksportuj film o 1920x1080i obróć wyeksportowane wideo z powrotem o 90 stopni za pomocą ffmpeg i następującego polecenia

ffmpeg -i Landscape.mp4 -vf "transpose=1" Portrait.mp4

iPad

IPad jest nieco trudniejszy, ponieważ wymaga rozdzielczości 1200x900( 4:3), ale iMovie eksportuje tylko16:9 .

Oto co zrobiłem.

  1. Nagraj film na iPadzie Air w układzie poziomym ( 1200x900, 4:3)
  2. Importuj do iMovie i eksportuj jako 1920x1080, 16:9( iPadLandscape16_9-1920x1080.mp4)
  3. Usuń lewy i prawy czarny pasek z filmu za pomocą 1440x1080. Szerokość jednego paska wynosi240

    ffmpeg -i iPadLandscape16_9-1920x1080.mp4 -filter:v "crop=1440:1080:240:0" -c:a copy iPadLandscape4_3-1440x1080.mp4
  4. Zmniejsz film do 1220x900

    ffmpeg -i iPadLandscape4_3-1440x1080.mp4 -filter:v scale=1200:-1 -c:a copy iPadLandscape4_3-1200x900.mp4

Zaczerpnąłem z mojej odpowiedzi na Forum programistów Apple


1
Jest to sprytne, ale ponowne kodowanie za pomocą ffmpeg znacznie obniża jakość wideo do tego stopnia, że ​​nie można go użyć.
RawMean

Jak ustawić eksport na 1080x1920? Nie mogę znaleźć tych wymiarów w iMove!
Mariam

@Mariam Nie można eksportować w rozdzielczości 1080x1920. iMovie może eksportować tylko w formacie 16: 9 (1920x1080).
brutella

14
To nie odpowiada na pytanie.
Tim Chen,

Odkryłem, że możesz zainstalować aplikację Handbrake na OS X, która pozwala na zmniejszenie do dowolnego wymiaru. Następnie, aby wesprzeć wymagania Apple, możesz zaimportować wynik do Quicktime i zapisać go przy użyciu kodeka Apple, a rozmiar pliku wejściowego zostanie zakończony. Na marginesie, Handbrake może kodować do niesamowicie kompaktowych plików wideo MP4, ponowne kodowanie za pomocą kodera Apple spowodowało 10-krotny rozmiar. Zakładam, że ffmpeg w powyższym przykładzie brutelli osiągnie ten sam efekt końcowy, ale zwróć uwagę, że Apple może być wybredny co do tego, jakiego kodeka użyłeś do wytworzenia powstałego wideo.
Gunnar Forsgren - Mobimation

27

Robienie zrzutu ekranu lub nagrywanie wideo za pomocą wiersza poleceń

Możesz zrobić zrzut ekranu lub nagrać wideo z okna symulatora za pomocą xcrunnarzędzia wiersza polecenia.

  1. Uruchom aplikację w Symulatorze.

  2. Uruchom Terminal (znajdujący się w /Applications/Utilities) i wprowadź odpowiednie polecenie:

    • Aby zrobić zrzut ekranu, użyj screenshotoperacji:

      xcrun simctl io booted screenshot

      Możesz podać opcjonalną nazwę pliku na końcu polecenia.

    • Aby nagrać wideo, użyj recordVideooperacji:

      xcrun simctl io booted recordVideo <filename>.<extension>

      Aby zatrzymać nagrywanie, naciśnij Control-C w Terminalu.

      Uwaga: Musisz podać nazwę pliku dla recordVideo.

    Domyślną lokalizacją dla utworzonego pliku jest bieżący katalog.

    Aby uzyskać więcej informacji na temat simctl, uruchom to polecenie w terminalu:

    xcrun simctl help

    Aby uzyskać więcej informacji na temat iopodkomendy simctl, uruchom następującą komendę:

    xcrun simctl io help

Z dokumentacji Apple .


3
Bu nie wyprodukowano dźwięku :(
Jules

4
Link do dokumentacji Apple nie był zbyt konkretny / pomocny. Musiałem szukać wokół przed znalezieniem że rozszerzenia plików wideo można użyć, są h264, mp4lub fmp4. Przykład: xcrun simctl io booted recordVideo test-video-recording.mp4. Ponadto, aby zakończyć wideo, musiałem zakończyć proces terminalowy za pomocą control+ c.
Trev14

To rozwiązanie działało, ale nie nagrywa dźwięku z symulatora
duyhungws

20

Możesz to zrobić za darmo za pomocą następujących narzędzi. Będziesz potrzebował co najmniej jednego prawdziwego urządzenia (użyłem iPhone'a 5)

Uchwyć wideo za pomocą prostej, ale doskonałej aplikacji (uwaga: to bardzo proste narzędzie, ale bardzo łatwe do nauczenia się). Zostanie wyeksportowany w natywnej rozdzielczości urządzenia (640 x 1136).

Zmień rozmiar za pomocą ffmpeg. Ze względu na zaokrąglanie możesz przechodzić bezpośrednio między rozdzielczościami, ale musisz przewymiarować, a następnie przyciąć.

ffmpeg -i video.mov -filter:v scale=1084:1924 -c:a copy video_1084.mov
ffmpeg -i video_1084.mov -filter:v "crop=1080:1920:0:0" -c:a copy video_1080.mov

W przypadku iPada możesz przyciąć, a następnie dodać skrzynkę na listy. Jednak takie kadrowanie zwykle nie daje filmu, który wygląda dokładnie tak, jak twoja aplikacja na iPadzie. YMMV.

ffmpeg -i video.mov -filter:v "crop=640:960:0:0" -c:a copy video_640_960.mo
ffmpeg -i video_640_960.mov -filter:v "pad=768:1024:64:32" -c:a copy video_768_1024.mov
ffmpeg -i video_768_1024.mov -filter:v scale=900:1200 -c:a copy video_900_1200.mov

Omg, zaoszczędziłeś mi dużo czasu. Dziękuję bardzo.
Dinesh Raja,

Czy możesz mi pomóc zmienić rozmiar wideo 640 * 1136 na rozdzielczość 750 * 1334?
Dinesh Raja,

1
Dla iPhone 6+ polecenia są ffmpeg -i source.mov -filter:v scale=1246:2216 -c:a copy intermediate.movi ffmpeg -i intermediate.mov -filter:v "crop=1242:2208:0:0" -c:a copy final.mov
Daniel Kanaan

@vish @daniel Na moim komputerze tych wyjść nie można otworzyć w QuickTime i nie można ich przesłać do iTunes Connect. Jednak otwierają się w VLC. Próbowałem -pix_fmt yuv420pi -vcodec lib264xbez powodzenia ...
data

@ntesler, niestety nie jestem pewien, na czym polega problem, ale mogę powiedzieć, że udało mi się otworzyć w krótkim czasie i przesłać do itunesconnect za pomocą tych dokładnych poleceń. Zainstalowałem ffmpeg z homebrew i ma on wersjęffmpeg version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers
vish

19

W ten sposób znalazłem najłatwiejszy i potrzebujesz tylko jednego iPhone'a i iPada:

Nagraj ekran urządzenia za pomocą QuickTime Player:

  • Podłącz swoje urządzenie.
  • Otwórz QuickTime Player.
  • Wybierz Plik> Nowe nagranie filmu (CMD + alt + N)
  • W wyświetlonym oknie wybierz urządzenie z systemem iOS jako kamerę o maksymalnej rozdzielczości.
  • Zapisz plik wideo (CMD + S)

Otwórz iMovie

  • Wybierz Plik -> Podgląd nowej aplikacji
  • Przeciągnij OBRAZ z aplikacji w największej rozdzielczości np. zrzut ekranu 1920 x 1080 do projektu. (To sprawia, że ​​wideo 1920 x 1080, nawet jeśli nagrano za pomocą iPhone'a 5)
  • Przeciągnij nagrany film do projektu.
  • Zapisz wybierając Plik -> Udostępnij -> Podgląd aplikacji

Teraz zrób to na wszystkich urządzeniach lub:

Pobierz Handbreak: https://handbrake.fr/downloads.php

I zmień rozmiar wideo w wysokiej rozdzielczości:

  • Przeciągnij wideo o wysokiej rozdzielczości do Handbreak
  • Wybierz ikonę „Ustawienia obrazu”
  • Zmień rozmiar na właściwy - zamknij i naciśnij ikonę „Start” - zostanie zapisany na pulpicie

18

Instrukcja obsługi symulatora firmy Apple stwierdza podczas robienia zrzutu ekranu lub nagrywania wideo przy użyciu akapitu wiersza poleceń :

Możesz zrobić zrzut ekranu lub nagrać wideo z okna symulatora za pomocą xcrunnarzędzia wiersza polecenia.


Aby nagrać wideo, użyj recordVideooperacji w swoim terminalu:

xcrun simctl io booted recordVideo <filename>.<extension>

Pamiętaj, że plik zostanie utworzony w bieżącym katalogu terminala.


Jeśli chcesz zapisać plik wideo w folderze Desktop, użyj następującego polecenia:

xcrun simctl io booted recordVideo ~/Desktop/<filename>.<extension>

Aby zatrzymać nagrywanie, naciśnij Control-Cw Terminalu.


6
Moje filmy zawsze były zepsute. Podczas oglądania wideo stawało się zielone i pikselowane. Poprzednio iMovie nie wyeksportował go.
toast

4

Od Xcode 9 i nowszych możesz zrobić zrzut ekranu lub nagrać wideo używając simctl binary, który znajdziesz tutaj:

/Applications/Xcode.app/Contents/Developer/usr/bin/simctl

Możesz go używać z xcrun, aby sterować symulatorem w wierszu poleceń.

  1. Aby zrobić zrzut ekranu, uruchom to w wierszu poleceń:

    xcrun simctl io booted screenshot
  2. Aby nagrać wideo na symulatorze za pomocą wiersza poleceń:

    xcrun simctl io booted recordVideo fileName.videoType(e.g mp4/mov)

Uwaga: Możesz użyć tego polecenia w dowolnym wybranym katalogu. Plik zostanie zapisany w tym katalogu.


4

Na dzień dzisiejszy w 2019 r. Apple znacznie ułatwił życie niskim budżetom lub jednoosobowym deweloperom projektów, takim jak ja. Możesz po prostu użyć polecenia terminalu z jednego z powyższych postów, aby nagrać wideo z poszukiwanego symulatora urządzenia. A następnie skorzystaj z funkcji podglądu nowej aplikacji iMovie.

xcrun /Applications/Xcode.app/Contents/Developer/usr/bin/simctl io booted recordVideo pro3new.mov

iMovie -> Plik -> Podgląd nowej aplikacji


3

Oto rozwiązanie, które działa i nie kosztuje 300 USD (FinalCut Pro), ale wymaga ScreenFlow ( aplikacja ScreenFlow w AppStore ) (100 USD):

  • Podłącz urządzenie do komputera Mac z systemem Yosemite
  • Uruchom Quicktime i wybierz opcję Nagrywanie filmu File / Newi
  • Uruchom ScreenFlow i przechwyć wideo
  • Edytuj wideo w ScreenFlow (dodaj tekst, muzykę itp.)
  • Przytnij wideo, aby zawierało tylko ekran urządzenia
  • Wyeksportuj wideo o rozmiarze wymaganym przez Apple (np. 1334 x 750)

Myślę, że to jedyne rozwiązanie do nagrywania podglądów aplikacji bez posiadania wszystkich urządzeń, ale szkoda, że ​​Apple nie ułatwiło tego, przechwytując filmy bezpośrednio z symulatora (np. Zrzuty ekranu)
Macistador,

Nie jestem pewien, czy dotyczy to filmów zarejestrowanych za pomocą ScreenFlow, ale zaimportowałem film kliencki, który nagrano przy wymiarach 1330 x 750, który miał tylko 9 MB. Nagrali go za pomocą Quicktime, ale udało mu się uzyskać przy 60 klatkach na sekundę zamiast 30 klatek na sekundę. Ponownie wyeksportowałem za pomocą ScreenFlow i wyleciał do 600 MB! Następnie umieściłem oryginał na komputerze z Yosemite i skorzystałem z instrukcji Apple. Developer.apple.com/app-store/app-previews/imovie/… był w stanie wyeksportować podgląd, teraz 14 MB. Nie mam pojęcia, dlaczego film, który zaczął się jako 9 MB, jest o 50% większy przy połowie liczby klatek na sekundę.
Andy Dent


2

Wskazówka dla użytkowników, którzy lubią korzystać z funkcji ZSH. Możesz trochę uprościć, dodając funkcję, która robi to samo, co odpowiedź @ Tichonowa Aleksandra.

Zacznij od wpisania:

edit ~/.zshrc

do twojego terminala.

Następnie dodaj tę funkcję gdzieś w pliku.

function recsim() {
    echo -n "Use CTRL+C to stop recording";
    xcrun simctl io booted recordVideo --codec=h264 --mask=black "$1.mp4";
}

Aby użyć, wpisz coś takiego:

recsim appPreview

w oknie terminala. Uwaga: Terminal należy zrestartować po dodaniu funkcji, aby działała.

Ta funkcja została zaadaptowana z postu na blogu Antoine Van Der Lee o tym, jak to zrobić w bash, który można znaleźć tutaj.


Uwaga: jeśli nie chcesz wstępnie określać rozszerzenia, po prostu zmień część xcrunwiersza w cudzysłowie na "$1"- następnie określ całą nazwę pliku w wierszu polecenia:recsim appPreview.mp4
leanne

1

Możesz użyć nagrania ekranu QuickTime i Symulatorów iOS, aby nagrywać wideo. Trudną rzeczą jest uzyskanie prawidłowego rozmiaru, aby iMovie mógł wykryć rozdzielczość wyjściową podczas eksportowania AppPreview. Nie znalazłem sposobu, aby wybrać rozdzielczość wyjściową w iMovie, więc jeśli musi to zostać wykryte przez format używanego nośnika. Może to wymagać kilku prób, ale jest to wykonalne. Jest to jedna z nich: czy mam 300 USD na FinalCut Pro, czy mam godzinę lub mniej więcej czasu? Potrzebujesz tylko trzech nagrań, jak wspomniano powyżej. Mógłbym zrobić dwa z nich na urządzeniach, ponieważ je mam, ale nie mam iPhone'a 6 (jeszcze ... :)). Lubię też symulatory, ponieważ można użyć czegoś takiego jak SimFinger do symulacji gestów i naciskania przycisków.

Powodzenia!


1
Chcę również wspomnieć, że istnieją pewne ograniczenia w korzystaniu z symulatorów. Na przykład musisz wybrać taki, który pasuje do ekranu. I to nie zawsze może być odpowiednie dla twoich potrzeb. W moim przypadku funkcje, które chciałem wyróżnić, to tryb poziomy; działało to świetnie, ponieważ niektóre symulatory nie mieszczą się w trybie portretowym na moim MacBooku Air. Upewnij się, że skala symulatora jest ustawiona na 100%.
Phantom59,

1
Tak, to bardzo irytujące, że niektóre symulatory nie mieszczą się na ekranie nawet przy maksymalnym oddaleniu!
AX,

1

Miałem największe szczęście, tworząc wysokiej jakości filmy demonstracyjne z App Store dla IOS przy użyciu ScreenFlow. Uaktualniłem do 5, aby móc bezpośrednio nagrywać z urządzenia i dostałem MacBook Air 2. Ale najpierw pomyślałem, że spróbuję użyć metody przechwytywania QuickTime i być może edytować w iMove. Okazuje się, że przepływ ekranu jest nie do pobicia, jeśli chcesz pokazać palec użytkownika poruszający się po powierzchni i klikający na rzeczy (mogą dodawać dźwięk, impulsy radaru itp.). Dla moich aplikacji było to bardzo ważne i tworzenie niezbędnych przejść i edycji w celu osiągnięcia te efekty, zamiast uruchamiać aplikację w symulatorze i używać ScreenFlow do używania ruchów kursora, były nieskończenie więcej pracy i szybko się poddałem.

Odniosłem teraz wielki sukces zarówno z aplikacjami na iPada, jak i na iPhone'a, w tym ponad 6. Mam nowy komputer iMac 5K, więc mogę wszystko symulować, ale wszystkie moje aplikacje na iPada eksportuję z ekranu o rozdzielczości 1200x900; Właśnie stworzyłem aplikacje na iPhone'a w rozdzielczości 1080x1920 i miałem prawdziwy problem - ciągle otrzymywałem komunikat „Nie można zapisać podglądu aplikacji. Spróbuj ponownie. Jeśli problem będzie się powtarzał, skontaktuj się z nami”. Znalazłem świetne wyjaśnienie tego tutaj http://blog.eumlab.com/app-video-preview/ale nie podobało mu się „użycie kodera multimediów w chmurze Adobe”, aby go naprawić, nawet jeśli jest bezpłatny. Więc po przeczytaniu postów w tym wątku zaimportowałem film o przepływie ekranu 5 mp4, który wydawał się spełniać dokładne wymagania (pamiętaj, że sklep nie odrzucił mojego filmu, po prostu nigdy go nie mógł zapisać); utworzył nowy projekt „podgląd filmu”; skopiowałem mój klip do projektu „podgląd filmu”, a następnie wyeksportowałem „nowy” film za pomocą wbudowanych ustawień wstępnych oraz a) mój 29-sekundowy plik mp4 o wielkości 5 MB stał się plikiem o wielkości 28 MB; ale b) zaimportowano po raz pierwszy i działa dobrze. Ta sama rozdzielczość, ta sama częstotliwość klatek, to samo kodowanie audio, to samo kodowanie wideo - ale teraz App Store lubi (teraz rozdęty) plik i mam efekty kursora. [ Nigdy wcześniej nie korzystałem z iMovie.] Możesz zobaczyć te filmy na youtube lub w sklepie. Zobacz na przykład film na iPadzie z francuską wersją aplikacji do nauki słów na stronie http://youtu.be/L0nBYeK4Pm4 ; następnie aplikacja na iPada, która składa się z 8 różnych wersji językowych interfejsu użytkownika aplikacji (internacjonalizowana dla 8 różnych języków L1 użytkownika) jest tutaj: http://youtu.be/CjXkAvuBXyQ ; a film iPhone'a 6+ tej samej aplikacji na iPhone'a jest tutaj: http://youtu.be/36kdLztvc_A. Dodaję filmy, dodając pliki dźwiękowe i inne aktualizacje iOS 7/8 do moich aplikacji do nauki słów (pierwotnie, aby pomóc mi nauczyć się czytać chińskie słowa) - co wydaje się świetnym sposobem, aby ludzie wiedzieli, co kupują.

Ale oczywiście, jeśli nie musisz pokazywać „palca” i „kliknięć” lub już opanowałeś takie efekty w iMovie lub innych, trzymaj się tego, co wiesz.


1

Miałem ten sam problem. Ma dla mnie bardzo proste rozwiązanie. Wystarczy wykonać następujące kroki:

1. Zrób podgląd wideo w iMovie.

2. Eksportuj wideo za pomocą opcji udostępniania pliku. Wybierz 1920 x 1080, ponieważ może być używany do 5S i 6 plus.

3. Pobierz Appshow dla komputerów Mac przez techsmith ( https://www.techsmith.com/techsmith-appshow.html .) Jest specjalnie zaprojektowany do robienia filmów z podglądem aplikacji. Ale nie polecam tego do robienia filmów, a raczej do eksportowania.

4. Wybierz nowy film z podglądem aplikacji i dostosuj go, wybierając mniej klatek, które możesz później usunąć.

5. Zaimportuj wideo iMovie do tego szablonu. W prawym górnym rogu możesz wybrać dowolną rozdzielczość, appshow ma wszystkie rozdzielczości wymagane do podglądu aplikacji.

6. Na koniec wybierz urządzenie i wyeksportuj wideo w wybranej rozdzielczości.


1

W moich ustawieniach MBP> Wyświetlacze> Wyświetlanie widzę ustawienie „Rozdzielczość: Domyślne dla Wyświetlania / Skalowane”. Ustawiam go na „Więcej miejsca”, a następnie wypróbowuję różne symulatory, z których wszystkie wydają się pasować do powiększonego ekranu w 100%. Podejrzewam, że nie działałoby to z twoim ekranem FullHD ...

Alternatywą może być próba zainstalowania na symulatorze jakiegoś rozwiązania serwerowego VNC, takiego jak https://github.com/wingify/vnc , i nagranie go za pomocą rejestratora VNC - uważam, że istnieje rejestrator VNC Python.


0

Niestety aplikacja iOS Simulator nie obsługuje zapisywania filmów. Najprościej jest użyć Quicktime Player, aby nagrać ekran. Oczywiście zobaczysz interakcję myszy, co nie jest tym, czego chcesz, ale w tej chwili nie mam dla ciebie lepszej opcji.


2
Ta odpowiedź jest teraz nieaktualna. Z Xcode 9 możesz nagrywać filmy na symulatorze przy użyciu wiersza poleceń, jak sugerują nowe odpowiedzi.
Yassine ElBadaoui

@YassineElBadaoui, ale nie audio
Jules

0

Możesz połączyć QuickTime Player + iMovie (bezpłatny)

Najpierw wybierz żądany symulator z ekranu xcode i nagrywania za pomocą QuickTime Player. Następnie użyj iMovie do wykonania podglądu aplikacji, a następnie prześlij wideo za pomocą przeglądarki Safari. ** wprowadź opis zdjęcia tutaj **To proste... :)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.