จับภาพวิดีโอ iOS Simulator เพื่อดูตัวอย่างแอพ


398

ตกลงตอนนี้เราสามารถส่งตัวอย่างวิดีโอของแอพของเราได้ที่ App Store ตามที่ Apple เราควรทำกับอุปกรณ์ iOS8 และOSX 10.10.ปัญหาคือคุณต้องมีอุปกรณ์ต่าง ๆ (4 ", 4.7", 5.5 "และ iPad)

มีทางเลือกนี้หรือไม่?

ฉันกำลังคิดถึงการจับภาพวิดีโอของเครื่องจำลอง ปัญหาคือหน้าจออุปกรณ์ใหญ่กว่าFullHDจอแสดงผลของฉันเมื่อแสดงด้วยความละเอียด 100% วิธีแก้ปัญหาใดที่สามารถจับภาพวิดีโอได้โดยตรงจากตัวจำลองความละเอียดเต็ม

แก้ไข: เนื่องจากผู้คนจำนวนมากกำลังตอบคำถามฉันไม่ได้ขอให้ฉันพูดว่า: - การบันทึกขนาดอุปกรณ์หนึ่งเครื่องและปรับขนาดไม่ใช่สิ่งที่ฉันขอ - วิธีการบันทึกใด ๆ ที่แสดงตัวอย่างแอปไม่ได้เป็นสิ่งที่ฉันขอ; - วิธีที่คุณทำตัวอย่างของคุณไม่ใช่สิ่งที่ฉันขอ;

สิ่งที่ฉันถามคือคุณสามารถบันทึกวิดีโอจากเครื่องจำลองด้วยความละเอียด 100% ได้หรือไม่หากมันไม่พอดีกับหน้าจอ

คำตอบ:


732

สำหรับ Xcode 8.2 หรือใหม่กว่า

คุณสามารถถ่ายวิดีโอและภาพหน้าจอของ Simulator โดยใช้xcrun simctlยูทิลิตี้บรรทัดคำสั่งเพื่อควบคุม Simulator

  1. เรียกใช้แอปของคุณบนตัวจำลอง
  2. เปิดเทอร์มินัล
  3. เรียกใช้คำสั่ง

    • เพื่อถ่ายภาพหน้าจอ

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

      ตัวอย่างเช่น:

      xcrun simctl io booted screenshot myScreenshot.png

    • ในการถ่ายวิดีโอ

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

      ตัวอย่างเช่น:

      xcrun simctl io booted recordVideo appVideo.mov

  4. กดctrl + cเพื่อหยุดการบันทึกวิดีโอ

ตำแหน่งเริ่มต้นสำหรับไฟล์ที่สร้างขึ้นเป็นไดเรกทอรีปัจจุบัน

Xcode 11.2 และใหม่กว่ามีตัวเลือกเพิ่มเติม

จากบันทึกย่อประจำรุ่น Xcode 11.2 Beta

ขณะนี้การบันทึกวิดีโอ simctl สร้างไฟล์วิดีโอขนาดเล็กรองรับการบีบอัด HEIC และใช้ประโยชน์จากการสนับสนุนการเข้ารหัสฮาร์ดแวร์หากมี นอกจากนี้ความสามารถในการบันทึกวิดีโอบนอุปกรณ์ iOS 13, tvOS 13 และ watchOS 6 ได้รับการกู้คืนแล้ว

คุณสามารถใช้ธงเพิ่มเติม:

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.

ตอนนี้คุณสามารถจับภาพหน้าจอjpegโดยใช้มาสก์ (สำหรับหน้าจอที่ไม่ใช่รูปสี่เหลี่ยมผืนผ้า) และแฟล็กอื่น ๆ :

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


5
ฉันได้รับ“ ไม่สามารถสร้างอุปกรณ์โลหะสำหรับผู้เขียนวิดีโอ” ด้วย ฉันเดาว่าเป็นเพราะแม็คของเราแก่เกินกว่าที่จะควบคุม Metal ได้ โดยข้อความแสดงข้อผิดพลาดมันใช้ Metal graphics API เพื่อดักจับเอาท์พุทของเครื่องจำลองและ Metal จะทำงานบน Macs> 2012 เท่านั้น: imore.com/here-are-macs-work-os-x-el-capitans-metal
andrewf

17
เป็นไปได้ไหมที่จะแสดงการแตะบนวิดีโอด้วยxcrun?
kelin

18
นี่ทำให้คุณภาพวิดีโอของฉันแย่ลง
Kashif

8
วิดีโอของฉันมีคุณภาพไม่ดีโดยใช้คำสั่งด้านบน การระบุ mp4 แก้ไขปัญหาสำหรับฉัน:xcrun simctl io booted recordVideo --type=mp4 <PATH TO VIDEO FILE>.mp4
Andy Novak

5
อัตราเฟรมต่ำมากเมื่อบันทึกด้วยการตั้งค่าเริ่มต้นใน 2013 MacBook Pro การระบุ--codec=h264แก้ไขปัญหาและทำให้วิดีโอราบรื่น
Jeffrey Fulton

208

คุณสามารถใช้QuickTime Playerเพื่อบันทึกหน้าจอ

  • เปิด QuickTime Player
  • เลือกFileจากเมนู
  • เลือก New Screen recording

ตอนนี้จากScreen Recordingหน้าต่างคลิกที่ปุ่มบันทึก

มันจะช่วยให้คุณมีตัวเลือกในการบันทึกทั้งหน้าจอหรือส่วนที่เลือกของหน้าจอของคุณ

คุณจะต้องทำการเลือกจำลองของคุณเพื่อที่จะบันทึกเฉพาะส่วนจำลองเท่านั้น


19
นี่เป็นคำตอบสำหรับคำถามที่ถูกต้องเท่านั้น คำตอบอื่น ๆ ขอให้คุณใช้อุปกรณ์
KPM

1
สิ่งนี้ยังใช้งานได้เมื่อใช้เครื่องจำลอง iOS ที่ใหญ่กว่าหน้าจอจริง (เช่น iPad Pro 12.7 ") หรือไม่
DrMickeyLauer

7
สิ่งนี้จะไม่ทำงานหากขนาดตัวจำลองของคุณใหญ่กว่าหน้าจอ คุณสามารถบันทึกทั้งหน้าจอของ mac หรือส่วนที่เลือกของหน้าจอของคุณ
Kalpesh

7
วิธีนี้ใช้ได้ผล แต่คุณจะเห็นเมาส์ชี้ไปที่อุปกรณ์จำลอง มันอาจมีประโยชน์สำหรับการทดสอบ แต่ไม่ใช่สำหรับวิดีโอแคมเปญการตลาด
Alan Andrade

คุณสามารถใช้Cursorcererเพื่อซ่อนเคอร์เซอร์ของเมาส์ในขณะที่คุณบันทึกหน้าจอด้วย QuickTime
user47712

73

Apple แนะนำให้ทำบนอุปกรณ์จริงและมีคำแนะนำวิธีการใช้ QuickTime และ iMovie บน iOS และ OS X: https://developer.apple.com/app-store/app-previews/imovie/Creating-App -Previews ที่มี iMovie.pdf

สรุป:

จับภาพบันทึกหน้าจอด้วย QuickTime Player

  1. เชื่อมต่ออุปกรณ์ iOS กับ Mac ของคุณโดยใช้สาย Lightning
  2. เปิดโปรแกรม QuickTime Player
  3. เลือกไฟล์> สร้างภาพยนตร์ใหม่
  4. ในหน้าต่างที่ปรากฏขึ้นให้เลือกอุปกรณ์ iOS ของคุณเป็นแหล่งสัญญาณกล้องและไมโครโฟน

สร้างตัวอย่างแอพด้วย iMovie

นำเข้าการบันทึกหน้าจอ

ถัดไปคุณจะนำเข้าไฟล์บันทึกหน้าจอที่คุณถ่ายด้วย QuickTime Player ไปยัง iMovie ใน iMovie:

  1. เลือกไฟล์> นำเข้าสื่อ
  2. ในหน้าต่างที่ปรากฏขึ้นให้เลือกไฟล์บันทึกหน้าจอ

สร้างโครงการตัวอย่างแอพ

หากต้องการเริ่มโครงการแสดงตัวอย่างแอพใหม่ให้เลือกไฟล์> ตัวอย่างแอปใหม่ เส้นเวลาปรากฏขึ้นที่คุณสามารถเพิ่มและจัดเรียงคลิปเพื่อสร้างตัวอย่างของคุณ


1
ข้อกำหนดของระบบ: •อุปกรณ์ iOS ที่มีตัวเชื่อมต่อ Lightning, จอแสดงผล Retina และ iOS 8 • Mac ที่ใช้ OS X Yosemite • iMovie สำหรับ Mac เวอร์ชั่น 10.0.6 หรือใหม่กว่า และ iMovie ไม่ฟรี
Borzh

29
นี่เป็นคำตอบที่ดียกเว้นว่าจะไม่จับภาพวิดีโอจาก Simulator (เฉพาะจากอุปกรณ์จริง)
race_carr

1
การบันทึกหน้าจอสามารถรับได้เกือบ 60fps ขณะที่ appstore รับเพียง 30 เฟรมต่อวินาทีซึ่งทำให้ไม่สามารถใช้งานได้ทุกครั้ง
PetrV

11
ฉันไม่มีอุปกรณ์ประเภทต่าง ๆ ทั้งหมด
János

1
@PetrV ฉันต่อสู้กับ iMovie ที่ต้องการส่งออกทุกอย่างที่ 60fps ตลอดไป ... ปรากฎว่าคุณสามารถนำวิดีโอ iMovie 60fps ขนาดใหญ่กลับมาเป็น Quicktime และ EXPORT จาก Quicktime สำหรับ iPad2 ซึ่งจะลดอัตราเฟรมและทำให้วิดีโอมีความสุขสำหรับ iTunesConnect ทั้งหมด jenky แต่ฉันก็ทำเล่นซอกับเรื่องนี้และมันทำงานได้
Dave Levy

62

จริง ๆ แล้วฉันไม่แปลกใจเลยที่ไม่มีใครตอบ นี่คือสิ่งที่คุณทำ (วิธีนี้จะใช้งานได้หากคุณมีอุปกรณ์ที่มีสิทธิ์อย่างน้อย 1 เครื่อง):

  1. บันทึกแก้ไขและเสร็จสิ้นการแสดงตัวอย่างแอพด้วยอุปกรณ์ที่คุณมี
  2. ส่งออกเป็นไฟล์
  3. ไปที่ Simulators ของคุณและพิมพ์หน้าจอ 1 shot บน iPhone แต่ละขนาดที่แตกต่างกัน
  4. สร้างตัวอย่างแอพใหม่ใน iMovie
  5. แทรกภาพหน้าจอของขนาดที่ต้องการ FIRST จากนั้นเพิ่มไฟล์ของ App Preview ที่คุณทำไปแล้ว
  6. ส่งออกโดยใช้ Share -> Preview แอป
  7. ทำซ้ำขั้นตอนที่ 4 ถึง 6 สำหรับขนาดใหม่

คุณควรจะสามารถรับหน้าตัวอย่างแอพของคุณในความละเอียดที่ต้องการ


8
เอริคคุณเป็นอัจฉริยะ มันทำงานได้อย่างสมบูรณ์แบบ! ฉันต้องทำให้แน่ใจว่าใช้หน้าจอเครื่องมือจำลองของฉันที่ขนาดหน้าจอ 100% ด้วย
ต้มตุ๋น

2
เอริคคำตอบที่ดี ขอบคุณมาก!
Dominique Vial

บางครั้งคุณอาจต้องการที่จะสร้างหนึ่งสำหรับ iPad เป็น 900x1200 และจากนั้นใช้คำสั่งนี้เพื่อทำให้มันกลายเป็นความละเอียด iPhone, ffmpeg -i appPrevw_ipad.mp4 -vf scale=1080:-1,pad=1080:1920:0:200:white appPrevw_iphone.mp4มีแถบที่ว่างเปล่าที่ด้านบนและด้านล่าง: 200 คือตำแหน่งแนวตั้งของเนื้อหา iPad (สั้นกว่า) คุณสามารถใช้สิ่งนี้เป็นฐานและเพิ่มสิ่งอื่น ๆ ที่บาร์ที่ว่างเปล่า
ishahak

2
นี่คือทางออกที่ดีที่สุด
CodyMace

อัตราส่วนกว้างยาวของ iphone plus / normal แตกต่างจาก X ดังนั้นมันจึงใช้งานไม่ได้และเราก็ไม่ควรที่จะครอบตัดวิดีโอเช่นกัน
Reza.Ab

43

คุณสามารถบันทึกส่วนหนึ่งของหน้าจอด้วยยูทิลิตี้สกรีนช็อตในตัว:

  1. กด Shift-Command-5 เพื่อแสดงแผงควบคุม
  2. ป้อนคำอธิบายรูปภาพที่นี่เลือก
  3. เลือกส่วนของหน้าจอที่คุณต้องการบันทึก นั่นจะเป็นเครื่องจำลอง iPhone
  4. คลิกป้อนคำอธิบายรูปภาพที่นี่เพื่อหยุดการบันทึก
  5. รูปขนาดย่อจะปรากฏที่มุมขวาล่างของหน้าจอ คุณสามารถแก้ไขได้ก่อนบันทึก

หากคุณต้องการที่จะเห็นภาพการคลิกเมาส์หลังจากขั้นตอนที่ 1 เลือกตัวเลือกการควบคุมและการเปิดใช้งานการแสดงการคลิกเมาส์


1
ดีเสมอที่จะใช้เครื่องมือในตัว ก่อนที่จะซ้อมผมใช้เครื่องมือlicecap มันสร้าง gifs ซึ่งต้องการพื้นที่น้อยกว่านั้นเป็นไฟล์. mov ( cockos.com/licecap | brew licecap ค้นหา )
Apoc

ยังคงทำงานใน Catalina ตัวชี้เมาส์ที่แสดงให้เห็นเช่นเดียวกับการคลิก ... หมายเหตุ:
ลีแอนน์

ง่ายและพอ ~
kjian

30

คุณควรใช้QuickTime ใน Yosemiteเพื่อเชื่อมต่อและบันทึกหน้าจอของอุปกรณ์ iOS ของคุณ

แนวตั้งของ iPhone

เมื่อคุณบันทึกเสร็จคุณสามารถใช้ iMovie เพื่อแก้ไขวิดีโอ เมื่อคุณทำงานกับ iPhone Portrait App Preview ต้องมีความละเอียด1080x1920แต่ iMovie สามารถส่งออกได้เฉพาะใน16:9( 1920x1080)

ทางออกหนึ่งคือการนำเข้าวิดีโอที่บันทึกด้วยความละเอียด1080x1920และหมุน 90 องศา จากนั้นส่งออกภาพยนตร์ที่1920x1080และหมุนวิดีโอที่ส่งออกกลับ 90 องศาโดยใช้ ffmpeg และคำสั่งต่อไปนี้

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

iPad

iPad นั้นค่อนข้างซับซ้อนกว่าเพราะต้องใช้ความละเอียด1200x900( 4:3) แต่ iMovie ส่งออกเฉพาะใน16:9เฉพาะการส่งออกใน

นี่คือสิ่งที่ฉันทำ

  1. บันทึกภาพยนตร์บน iPad Air ในแนวนอน ( 1200x900, 4:3)
  2. นำเข้าและส่งออก iMovie เป็น1920x1080, 16:9( iPadLandscape16_9-1920x1080.mp4)
  3. 1440x1080ลบออกซ้ายและขวาแถบสีดำกับวิดีโอด้วย ความกว้างของแถบเดียวคือ240

    ffmpeg -i iPadLandscape16_9-1920x1080.mp4 -filter:v "crop=1440:1080:240:0" -c:a copy iPadLandscape4_3-1440x1080.mp4
  4. ย่อส่วนภาพยนตร์เป็น 1220x900

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

นำมาจากคำตอบของฉันในฟอรัมนักพัฒนาของ Apple


1
นี่เป็นวิธีที่ฉลาด แต่การเข้ารหัสอีกครั้งโดยใช้ ffmpeg ทำให้คุณภาพวิดีโอแย่ลงจนเกินไปจนไม่สามารถใช้งานได้
RawMean

ฉันจะตั้งค่าการส่งออกเป็น 1080x1920 ได้อย่างไร ฉันหามิตินี้ใน iMove ไม่ได้!
Mariam

@Mariam คุณไม่สามารถส่งออกใน 1080x1920 iMovie สามารถส่งออกได้ใน 16: 9 (1920x1080) เท่านั้น
brutella

14
สิ่งนี้ไม่ตอบคำถาม
ทิมเฉิน

ฉันพบว่าคุณสามารถติดตั้งแอพ Handbrake บน OS X ได้มันสามารถลดขนาดให้เล็กลงตามที่คุณต้องการ จากนั้นเพื่อรองรับข้อกำหนดของ Apple คุณสามารถนำเข้าผลลัพธ์ลงใน Quicktime และบันทึกโดยใช้ตัวแปลงสัญญาณของ Apple และจะสิ้นสุดลงในขนาดของไฟล์อินพุต Handbrake สามารถเข้ารหัสไฟล์วิดีโอ mp4 ที่มีขนาดกะทัดรัดได้อย่างน่าอัศจรรย์อีกครั้งการเข้ารหัสโดยใช้ Apple encoder ทำให้มีขนาดใหญ่ขึ้นเป็น 10 เท่า ฉันจะถือว่า ffmpeg ในตัวอย่างข้างต้นโดย brutella จะบรรลุผลลัพธ์ที่เหมือนกัน แต่ให้ความสนใจแอปเปิ้ลสามารถเลือกเกี่ยวกับตัวแปลงสัญญาณที่คุณใช้ในการผลิตวิดีโอที่เกิดขึ้น
Gunnar Forsgren - การเคลื่อนไหว

27

การจับภาพหน้าจอหรือบันทึกวิดีโอโดยใช้บรรทัดคำสั่ง

คุณสามารถจับภาพหน้าจอหรือบันทึกวิดีโอของหน้าต่างจำลองโดยใช้xcrunยูทิลิตีบรรทัดคำสั่ง

  1. เปิดแอปของคุณในเครื่องมือจำลอง

  2. เรียกใช้ Terminal (อยู่ใน/Applications/Utilities) และป้อนคำสั่งที่เหมาะสม:

    • ในการถ่ายภาพหน้าจอให้ใช้การscreenshotดำเนินการ:

      xcrun simctl io booted screenshot

      คุณสามารถระบุชื่อไฟล์เพิ่มเติมได้ที่ส่วนท้ายของคำสั่ง

    • ในการบันทึกวิดีโอใช้การrecordVideoดำเนินการ:

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

      หากต้องการหยุดการบันทึกให้กด Control-C ในเทอร์มินัล

      หมายเหตุ: คุณต้องระบุชื่อไฟล์สำหรับบันทึกวิดีโอ

    ตำแหน่งเริ่มต้นสำหรับไฟล์ที่สร้างขึ้นเป็นไดเรกทอรีปัจจุบัน

    สำหรับข้อมูลเพิ่มเติมsimctlให้เรียกใช้คำสั่งนี้ในเทอร์มินัล:

    xcrun simctl help

    สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำioสั่งย่อยsimctlให้รันคำสั่งนี้:

    xcrun simctl io help

จากแอปเปิ้ลเอกสาร


3
ไม่มีเสียงที่ผลิต :(
จูลส์

4
ลิงก์เอกสาร Apple ไม่ได้เจาะจง / มีประโยชน์มาก ผมต้องค้นหารอบก่อนที่จะพบว่านามสกุลไฟล์วิดีโอที่คุณสามารถใช้h264, หรือmp4 fmp4ตัวอย่าง: xcrun simctl io booted recordVideo test-video-recording.mp4. นอกจากนี้ที่จะสิ้นสุดวิดีโอผมต้องจบกระบวนการขั้วกับ+control c
Trev14

วิธีนี้ใช้งานได้ แต่ไม่บันทึกเสียงจากโปรแกรมจำลอง
duyhungws

20

คุณสามารถทำสิ่งนี้ได้ฟรีด้วยเครื่องมือต่อไปนี้ คุณจะต้องมีอุปกรณ์จริงอย่างน้อยหนึ่งตัว (ฉันใช้ iPhone 5)

จับภาพวิดีโอด้วยแอปพลิเคชั่นที่เรียบง่าย แต่ยอดเยี่ยม(โปรดทราบว่านี่เป็นเครื่องมือที่ไม่มีกระดูกแต่มันเรียนรู้ได้ง่ายมาก) สิ่งนี้จะส่งออกที่ความละเอียดอุปกรณ์ดั้งเดิม (640x1136)

ปรับขนาดด้วย ffmpeg เนื่องจากการปัดเศษคุณสามารถไปที่ความละเอียดได้โดยตรง แต่คุณต้องปรับขนาดแล้วจึงครอบตัด

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

สำหรับ ipad คุณสามารถครอบตัดแล้วเพิ่มกล่องจดหมาย อย่างไรก็ตามการปลูกพืชแบบนี้มักจะไม่ยอมให้วิดีโอที่ดูเหมือนว่าแอพของคุณทำบน iPad 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

พระเจ้าช่วยคุณประหยัดเวลาได้มากสำหรับฉัน ขอบคุณมาก.
ราชา Dinesh

คุณสามารถช่วยฉันปรับขนาดวิดีโอ 640 * 1136 เป็นความละเอียด 750 * 1334 ได้ไหม
Dinesh Raja

1
สำหรับ iphone 6+ คำสั่งคือ ffmpeg -i source.mov -filter:v scale=1246:2216 -c:a copy intermediate.movและ ffmpeg -i intermediate.mov -filter:v "crop=1242:2208:0:0" -c:a copy final.mov
Daniel Kanaan

@vish @daniel บนเครื่องของฉันเอาต์พุตเหล่านี้ไม่สามารถเปิดได้ใน QuickTime และจะไม่อัปโหลดไปยัง iTunes Connect พวกเขาเปิดใน VLC แม้ว่า ฉันได้พยายาม-pix_fmt yuv420pและ-vcodec lib264xโชคไม่ ...
เนท

@ntesler โชคไม่ดีที่ฉันไม่แน่ใจว่ามีปัญหาอะไร แต่ฉันสามารถบอกคุณได้ว่าฉันสามารถเปิดได้ในเวลาที่รวดเร็วและอัปโหลดไปยัง iTunes เชื่อมต่อกับคำสั่งที่แน่นอนเหล่านี้ ฉันติดตั้ง ffmpeg กับ homebrew และมีรุ่นffmpeg version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers
vish

19

นี่คือวิธีที่ฉันค้นพบง่ายที่สุดและคุณต้องการ iPhone และ iPad เพียงอันเดียว:

หน้าจอบันทึกอุปกรณ์ด้วย QuickTime Player:

  • เชื่อมต่ออุปกรณ์ของคุณ
  • เปิดโปรแกรม QuickTime Player
  • เลือกไฟล์> การบันทึกภาพยนตร์ใหม่ (CMD + alt + N)
  • ในหน้าต่างที่ปรากฏขึ้นให้เลือกอุปกรณ์ iOS ของคุณเป็นกล้องที่มีความละเอียดสูงสุด
  • บันทึกไฟล์วิดีโอ (CMD + S)

เปิด iMovie

  • เลือกไฟล์ -> ตัวอย่างแอปใหม่
  • ลาก IMAGE จากแอปของคุณด้วยความละเอียดสูงสุดเช่น ภาพหน้าจอขนาด 1920 x 1080 ให้กับโครงการ (สิ่งนี้ทำให้วิดีโอ 1920 x 1080 แม้ว่าคุณจะบันทึกด้วย iPhone 5)
  • ลากภาพยนตร์ที่คุณบันทึกไว้ในโครงการ
  • บันทึกโดยเลือกไฟล์ -> แชร์ -> ดูตัวอย่างแอป

ตอนนี้ทำกับอุปกรณ์ทั้งหมดของคุณหรือ:

ดาวน์โหลด Handbreak: https://handbrake.fr/downloads.php

และปรับขนาดวิดีโอความละเอียดสูง:

  • ลากวิดีโอความละเอียดสูงของคุณไปยัง Handbreak
  • เลือกไอคอน "การตั้งค่ารูปภาพ"
  • ปรับขนาดตามขนาดที่ถูกต้อง - ปิดแล้วกดไอคอน "เริ่ม" - บันทึกลงบนเดสก์ท็อป

18

คู่มือผู้ใช้ Simulator ของ Apple ระบุไว้ในการถ่ายภาพหน้าจอหรือบันทึกวิดีโอโดยใช้ย่อหน้า Command Line :

คุณสามารถจับภาพหน้าจอหรือบันทึกวิดีโอของหน้าต่างจำลองโดยใช้xcrunยูทิลิตีบรรทัดคำสั่ง


ในการบันทึกวิดีโอใช้การrecordVideoดำเนินการในเทอร์มินัลของคุณ:

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

โปรดทราบว่าไฟล์จะถูกสร้างขึ้นในไดเรกทอรีปัจจุบันของเทอร์มินัลของคุณ


หากคุณต้องการบันทึกไฟล์วิดีโอในโฟลเดอร์ Desktop ของคุณให้ใช้คำสั่งต่อไปนี้:

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

หากต้องการหยุดการบันทึกให้กดControl-Cในเทอร์มินัล


6
วิดีโอของฉันเสียหายเสมอ เมื่อดูวิดีโอจะเป็นสีเขียวและพิกเซล เวลาก่อนหน้านั้น iMovie ไม่สามารถส่งออกได้
ขนมปังปิ้ง

4

จาก Xcode 9 ขึ้นไปคุณสามารถจับภาพหน้าจอหรือบันทึกวิดีโอโดยใช้ simctl binary ที่คุณสามารถหาได้ที่นี่:

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

คุณสามารถใช้กับ xcrun เพื่อสั่งการจำลองในบรรทัดคำสั่ง

  1. สำหรับการจับภาพหน้าจอให้เรียกใช้ในบรรทัดคำสั่ง:

    xcrun simctl io booted screenshot
  2. สำหรับการบันทึกวิดีโอในเครื่องจำลองโดยใช้บรรทัดคำสั่ง:

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

หมายเหตุ: คุณสามารถใช้คำสั่งนี้ในไดเรกทอรีที่คุณเลือก ไฟล์จะถูกบันทึกไว้ในไดเรกทอรีนั้น


4

ณ วันนี้ในปี 2019 Apple ทำให้ชีวิตง่ายขึ้นสำหรับงบประมาณต่ำหรือนักพัฒนาโครงการคนเดียวอย่างฉัน คุณสามารถใช้คำสั่งเทอร์มินัลจากโพสต์ด้านบนเพื่อบันทึกวิดีโอจากอุปกรณ์จำลองที่ต้องการ จากนั้นใช้คุณสมบัติใหม่ App Preview ของ iMovie

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

iMovie -> ไฟล์ -> ตัวอย่างแอพใหม่


3

นี่คือโซลูชันที่ใช้งานได้และไม่เสียค่าใช้จ่าย $ 300 (FinalCut Pro) แต่ต้องใช้ ScreenFlow ( แอป ScreenFlow ใน AppStore ) ($ 100):

  • เชื่อมต่ออุปกรณ์ของคุณกับ Mac ที่ใช้ Yosemite
  • เรียกใช้ Quicktime และเลือก File / Newi Movie Recording
  • เปิดตัว ScreenFlow และจับภาพวิดีโอของคุณ
  • แก้ไขวิดีโอของคุณใน ScreenFlow (เพิ่มข้อความ, เพลง, ฯลฯ )
  • ครอบตัดวิดีโอเพื่อให้มีเฉพาะหน้าจออุปกรณ์
  • ส่งออกวิดีโอด้วยขนาดที่ Apple ต้องการ (เช่น 1334x750)

ฉันคิดว่านี่เป็นทางออกเดียวสำหรับการบันทึกตัวอย่างแอปโดยไม่ต้องมีอุปกรณ์ทั้งหมด แต่สิ่งที่น่าเสียดายที่ Apple ไม่ได้ทำให้มันง่ายขึ้นโดยการจับภาพวิดีโอโดยตรงจากตัวจำลอง (เช่นภาพหน้าจอ)
Macistador

ไม่แน่ใจว่าจะใช้กับภาพยนตร์ที่บันทึกด้วย ScreenFlow หรือไม่ แต่ฉันนำเข้าภาพยนตร์ลูกค้าที่บันทึกไว้ที่ 1330x750 นั่นคือเพียง 9MB พวกเขาบันทึกโดยใช้ Quicktime แต่มีการจัดการเพื่อให้ได้ที่ 60fps แทนที่จะเป็น 30fps สูงสุดที่อนุญาต ฉันส่งออกอีกครั้งด้วย ScreenFlow และมันเป่าออกไป 600MB! จากนั้นฉันก็วางต้นฉบับบนเครื่องโยเซมิตีและใช้คำแนะนำของนักพัฒนาApple.apple.com/app-store/app-previews/imovie/…ก็สามารถที่จะส่งออกตัวอย่างตอนนี้ 14MB ฉันไม่รู้ว่าทำไมภาพยนตร์ที่เริ่มเป็น 9MB นั้นใหญ่กว่า 50% ที่ครึ่งหนึ่งของอัตราเฟรม
Andy Dent


2

คำแนะนำสำหรับผู้ใช้ที่ต้องการใช้ฟังก์ชั่น ZSH คุณสามารถทำให้สิ่งเล็ก ๆ น้อย ๆ ง่ายขึ้นโดยการเพิ่มฟังก์ชั่นที่ทำเช่นเดียวกับคำตอบของ @Tikhonov Alexander

เริ่มต้นด้วยการพิมพ์:

edit ~/.zshrc

เข้าสู่เทอร์มินัลของคุณ

จากนั้นเพิ่มฟังก์ชั่นนี้บางที่ในไฟล์

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

วิธีใช้ให้พิมพ์ดังนี้:

recsim appPreview

ลงในหน้าต่างเทอร์มินัลของคุณ หมายเหตุ: เทอร์มินัลจะต้องเริ่มต้นใหม่หลังจากเพิ่มฟังก์ชั่นก่อนที่มันจะทำงาน

ฟังก์ชั่นนี้ดัดแปลงมาจากบล็อกโพสต์ของ Antoine Van Der Lee เกี่ยวกับวิธีการทำเช่นนี้ใน bash ซึ่งสามารถพบได้ที่นี่


หมายเหตุ: หากไม่ต้องการ pre-ระบุนามสกุลเพียงแค่เปลี่ยนxcrunส่วนหนึ่งบรรทัดในคำพูดไป"$1"- แล้วระบุชื่อไฟล์ทั้งหมดในบรรทัดคำสั่ง:recsim appPreview.mp4
ลีแอนน์

1

คุณสามารถใช้การบันทึกหน้าจอ QuickTime และ iOS Simulators เพื่อทำการบันทึกวิดีโอของคุณ สิ่งที่ยุ่งยากคือการได้ขนาดที่ถูกต้องเพื่อให้ iMovie สามารถตรวจจับความละเอียดเอาต์พุตเมื่อคุณไปที่ส่งออก AppPreview ฉันไม่พบวิธีเลือก res output ใน iMovie ดังนั้นหากต้องตรวจพบโดยรูปแบบของสื่อที่คุณใช้ อาจต้องลองหลายครั้ง แต่ก็สามารถทำได้ เป็นหนึ่งในนั้น: ฉันมี $ 300 สำหรับ FinalCut Pro หรือฉันมีเวลาอย่างน้อยหนึ่งชั่วโมง คุณต้องการการบันทึกสามครั้งตามที่กล่าวไว้ข้างต้น ที่จริงแล้วฉันสามารถทำได้สองอย่างบนอุปกรณ์เพราะฉันมี แต่ฉันไม่มี iPhone 6 (ยัง ... :)) ฉันชอบเครื่องจำลองเพราะคุณสามารถใช้สิ่งต่าง ๆ เช่น SimFinger เพื่อจำลองท่าทางและการกดปุ่ม

โชคดี!


1
ฉันต้องการพูดถึงว่ามีข้อ จำกัด บางประการในการใช้เครื่องจำลอง ตัวอย่างเช่นคุณต้องเลือกหนึ่งที่เหมาะกับหน้าจอ และสิ่งนี้อาจไม่เหมาะกับความต้องการของคุณเสมอไป ในกรณีของฉันคุณสมบัติที่ฉันต้องการเน้นคือในโหมดแนวนอน เพื่อให้ได้ผลดีเพราะตัวจำลองบางตัวไม่พอดีกับโหมดแนวตั้งบน MacBook Air ของฉัน ตรวจสอบให้แน่ใจว่าสเกลของเครื่องจำลองถูกตั้งไว้ที่ 100%
Phantom59

1
ใช่มันเป็นเรื่องที่น่ารำคาญอย่างมากที่ตัวจำลองบางตัวไม่พอดีกับหน้าจอแม้ในระยะซูมสูงสุด!
ขวาน

1

ฉันโชคดีที่สุดในการสร้างภาพยนตร์ตัวอย่างคุณภาพสูงสำหรับ app store บน IOS โดยใช้ ScreenFlow ฉันอัปเกรดเป็น 5 เพื่อให้ฉันสามารถบันทึกอุปกรณ์โดยตรงและรับ MacBook Air 2 แต่ฉันคิดว่าฉันจะลองใช้วิธีการจับภาพด้วย QuickTime ก่อนและอาจแก้ไขด้วย iMove ปรากฎว่าโฟลว์หน้าจอไม่สามารถเอาชนะได้หากคุณต้องการให้นิ้วของผู้ใช้เคลื่อนที่ผ่านพื้นผิวและคลิกที่สิ่งต่าง ๆ (สามารถเพิ่มเสียงพัลส์เรดาร์ ฯลฯ ) สำหรับแอปของฉันสิ่งนี้สำคัญมากและสร้างการเปลี่ยนและแก้ไขที่จำเป็น เอฟเฟกต์เหล่านี้แทนที่จะเรียกใช้แอพในเครื่องจำลองและการที่มี ScreenFlow ใช้การเลื่อนเคอร์เซอร์มันทำงานได้ไม่สิ้นสุดและฉันก็ยอมแพ้อย่างรวดเร็ว

ตอนนี้ฉันประสบความสำเร็จอย่างมากกับทั้งแอพ iPad และ iPhone รวมถึงแอพ 6+ ตัว ฉันมี iMac 5K ตัวใหม่ดังนั้นจึงสามารถจำลองทุกอย่างได้ แต่แอพ iPad ของฉันทั้งหมดฉันส่งออกจากโฟลว์หน้าจอที่ 1200x900 ฉันเพิ่งทำแอพ iPhone ที่ 1080x1920 และมีปัญหาจริง - ฉันได้รับข้อความ"ไม่สามารถบันทึกตัวอย่างวิดีโอแอพของคุณลองอีกครั้งหากปัญหายังคงอยู่โปรดติดต่อเรา" ฉันพบคำอธิบายที่ดีเกี่ยวกับเรื่องนี้ที่นี่ http://blog.eumlab.com/app-video-preview/แต่ไม่ชอบ "ใช้ adobe Creative cloud encoder encoder" เพื่อแก้ไขแม้ว่าฟรี ดังนั้นหลังจากอ่านโพสต์ในกระทู้นี้ฉันนำเข้าโฟลว์หน้าจอ 5 mp4 ภาพยนตร์ซึ่งดูเหมือนว่าตรงตามข้อกำหนดที่ระบุ (จำไว้ว่าร้านค้าไม่ปฏิเสธภาพยนตร์ของฉันมันไม่สามารถบันทึกได้) สร้างโครงการ "ภาพยนตร์ตัวอย่างแอป" ใหม่ คัดลอกคลิปของฉันลงในโครงการ "ตัวอย่างภาพยนตร์แอพ" แล้วส่งออกภาพยนตร์ "ใหม่" โดยใช้ชุดที่ติดตั้งมาในตัวแล้วก) ไฟล์ mp4 29 29 5 5 เมกะไบต์ของฉันกลายเป็นไฟล์ขนาด 28 MB; แต่ b) นำเข้าครั้งแรกและทำงานได้ดี ความละเอียดเดียวกัน, อัตราเฟรมเดียวกัน, การเข้ารหัสเสียงเดียวกัน, การเข้ารหัสวิดีโอเดียวกัน - แต่ตอนนี้ App Store ชอบไฟล์ (ตอนนี้ bloated) และฉันมีผลเคอร์เซอร์ของฉัน [ฉันไม่เคยใช้ iMovie มาก่อน] คุณสามารถดูวิดีโอเหล่านี้ได้ใน youtube หรือในร้านค้า ดูตัวอย่างวิดีโอ iPad ของแอปเรียนรู้คำศัพท์ภาษาฝรั่งเศสที่http://youtu.be/L0nBYeK4Pm4 ; จากนั้นแอพ iPad ที่เป็นหลายภาษาของแอพภาษา UI ที่แตกต่างกัน 8 เวอร์ชัน (สากลสำหรับผู้ใช้ภาษา L1 8 ภาษา) อยู่ที่นี่: http://youtu.be/CjXkAvuBXyQ ; และวิดีโอ iPhone 6+ ของแอพรุ่นเดียวกันของ iPhone อยู่ที่นี่: http://youtu.be/36kdLztvc_A http://youtu.be/36kdLztvc_Aฉันกำลังเพิ่มภาพยนตร์เมื่อฉันเพิ่มไฟล์เสียงและการอัปเกรด iOS 7/8 อื่น ๆ เป็นแอปการเรียนรู้คำศัพท์ของฉัน (แต่เดิมเพื่อช่วยให้ฉันเรียนรู้ที่จะอ่านคำศัพท์ภาษาจีน) - ซึ่งเป็นวิธีที่ยอดเยี่ยมสำหรับคนที่จะรู้ว่ากำลังซื้ออะไร

แต่แน่นอนถ้าคุณไม่จำเป็นต้องแสดง "นิ้ว" และ "คลิก" หรือใช้เอฟเฟกต์ดังกล่าวใน iMovie หรือคนอื่น ๆ ให้ยึดติดกับสิ่งที่คุณรู้


1

ฉันกำลังเผชิญกับปัญหาเดียวกัน มันมีทางออกง่าย ๆ ที่ทำงานให้ฉัน เพียงทำตามขั้นตอนเหล่านี้:

1. ทำวิดีโอตัวอย่างใน iMovie

2. ส่งออกวิดีโอโดยใช้ตัวเลือกแชร์ไฟล์ เลือก 1920x1080 เนื่องจากสามารถใช้เป็น 5S และ 6 บวก

3. ดาวน์โหลด Appshow สำหรับ Mac โดย techsmith ( https://www.techsmith.com/techsmith-appshow.html .) ทำขึ้นเป็นพิเศษสำหรับการทำวิดีโอตัวอย่างแอพ แต่ฉันไม่แนะนำให้ทำวิดีโอ แต่เพื่อการส่งออก

4. เลือกวิดีโอตัวอย่างแอพใหม่และปรับแต่งโดยเลือกเฟรมน้อยลงซึ่งคุณสามารถลบได้ในภายหลัง

5. นำเข้าวิดีโอ iMovie ของคุณลงในเทมเพลตนี้ ที่มุมขวาบนคุณสามารถเลือกความละเอียดที่คุณต้องการ appshow มีความละเอียดทั้งหมดที่จำเป็นสำหรับการแสดงตัวอย่างแอพ

6. ในที่สุดเพียงเลือกอุปกรณ์และส่งออกวิดีโอตามความละเอียดที่คุณเลือก


1

ในการตั้งค่าของ MBP ของฉัน> แสดง> แสดงฉันเห็นการตั้งค่าสำหรับ 'การแก้ไข: ค่าเริ่มต้นสำหรับการแสดงผล / ปรับสัดส่วน' ฉันตั้งค่าเป็น 'พื้นที่มากขึ้น' จากนั้นลองจำลองสถานการณ์ต่างๆซึ่งทั้งหมดดูเหมือนจะพอดีกับหน้าจอที่ขยายใหญ่ขึ้น 100% ฉันสงสัยว่าจะไม่ทำงานกับหน้าจอ FullHD ของคุณแม้ว่า ...

ทางเลือกอื่นอาจลองติดตั้งโซลูชันเซิร์ฟเวอร์ VNC บางประเภทในตัวจำลองเช่นhttps://github.com/wingify/vncและบันทึกด้วยตัวบันทึก VNC - ฉันเชื่อว่ามีตัวบันทึก Python VNC อยู่ที่นั่น


0

น่าเสียดายที่แอพ iOS Simulator ไม่รองรับการบันทึกวิดีโอ สิ่งที่ง่ายที่สุดที่จะทำคือใช้ Quicktime Player เพื่อบันทึกหน้าจอ แน่นอนว่าคุณจะเห็นว่าเมาส์โต้ตอบกับมันซึ่งไม่ใช่สิ่งที่คุณต้องการ แต่ฉันไม่มีตัวเลือกที่ดีกว่าสำหรับคุณในเวลานี้


2
คำตอบนี้ล้าสมัยแล้ว จาก Xcode 9 คุณสามารถบันทึกวิดีโอบนเครื่องจำลองโดยใช้บรรทัดคำสั่งตามคำแนะนำใหม่
Yassine ElBadaoui

@YassineElBadaoui แต่ไม่ใช่เสียง
Jules

0

คุณสามารถรวมQuickTime Player + iMovie (ฟรี)

ตอนแรกเลือกโปรแกรมจำลองที่คุณต้องการจาก xcode และบันทึกหน้าจอโดยใช้ QuickTime Player หลังจากนั้นใช้ iMovie เพื่อสร้าง App Preview และอัพโหลดวิดีโอด้วยเบราว์เซอร์ Safari ** ใส่คำอธิบายรูปภาพที่นี่ **มันง่าย ... :)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.