คำถามติดแท็ก ffmpeg

เครื่องมือสื่อที่รองรับตัวแปลงสัญญาณตัวกรองและคอนเทนเนอร์หลายตัว รวมคำสั่งจริงของคุณและเอาต์พุตคอนโซลที่สมบูรณ์เมื่อถามคำถามที่เกี่ยวข้องกับเครื่องมือ FFmpeg วิธีง่ายๆในการทำเช่นนี้คือการเพิ่ม `- รายงาน 'ลงในคำสั่งของคุณและวางเนื้อหาของ logfile ที่สร้างขึ้น สำหรับความช่วยเหลือเกี่ยวกับ CLI ให้ใช้เฉพาะไบนารี ff * - ffmpeg, ffprobe, ffplay สำหรับความช่วยเหลือเกี่ยวกับการใช้ API ให้โพสต์บน Stack Overflow

3
ข้อผิดพลาด: cuvid ร้องขอ แต่ไม่พึงพอใจต่อการอ้างอิงทั้งหมด: cuda / ffnvcodec
ฉันพยายามรวบรวม FFMPEG ด้วยการสนับสนุน Nvidia Cuda บน Debian 9.3 พารามิเตอร์สิ่งที่ฉันใช้: --enable-cuda --enable-cuvid --enable-nvenc --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --enable-gpl --enable-libx264 --disable-x86asm --enable-libx265 --enable-libfdk-aac --enable-nonfree มีการติดตั้ง Nvidia Cuda พร้อมไดรเวอร์ เมื่อฉันพยายามกำหนดค่า ffmpeg มันพูดว่า: ERROR: cuvid requested, but not all dependencies are satisfied: cuda ffmpeg ที่ใหม่กว่าจะแสดงข้อความที่คล้ายกัน ERROR: cuda requested, but not all dependencies are satisfied: ffnvcodec ฉันไม่รู้ว่าทำไมฉันถึงมีปัญหานี้เพราะฉันรวบรวมffmpegเซิร์ฟเวอร์ …
18 linux  ffmpeg  cuda 

4
แก้ไขอัตราส่วนภาพโดยไม่ต้องเข้ารหัสไฟล์วิดีโออีกครั้ง
ฉันมีวิดีโอสตรีมพร้อมคุณสมบัติต่อไปนี้: Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 720x416 [SAR 1:1 DAR 45:26], 1908 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc เมื่อฉันเรียกใช้ใน VLC ฉันต้องกด "A" เพื่อเปลี่ยนอัตราส่วนภาพเป็น "4: 3" เพื่อให้วิดีโอแสดงด้วยอัตราส่วนภาพที่ถูกต้อง เมื่อดูข้อเท็จจริงของวิดีโอข้อผิดพลาดที่ก) วิดีโอจริงนั้นถูกยืดออกอย่างไม่ถูกต้องในข้อมูลพิกเซลหรือข) มีเพียงเมทาดาทาบางค่าที่ตั้งค่าไว้ไม่ถูกต้องหรือไม่ หากก่อนหน้านี้ฉันรู้ว่าฉันสามารถเข้ารหัสวิดีโออีกครั้งและเปลี่ยนความกว้างและความสูงได้ แต่ถ้าในภายหลังคำสั่ง ffmpeg อะไรที่ฉันเรียกใช้เพื่อแก้ไขข้อมูลเมตาโดยไม่ต้องเข้ารหัสวิดีโออีกครั้ง
18 ffmpeg 

1
ffmpeg และข้อผิดพลาด 'ไม่สามารถค้นหาเอาต์พุตที่เหมาะสม'
ฉันพยายามแปลง MKV ขนาดใหญ่เป็นไฟล์ AVI แบบเก่า ฉันพยายามทำสิ่งนี้: ffmpeg -i video.mkv -s -codec:v mpeg4 -bf 1 -b 2567k -mbd 2 -g 300 -flags cgop -acodec copy video.avi แต่ฉันได้รับ [NULL @ 0x7fa0d901e600] Unable to find a suitable output format for 'mpeg4' mpeg4: Invalid argument ข้อความยาวของ ffmpeg ... ffmpeg version 2.1.3 Copyright (c) 2000-2013 …

1
ระยะเวลาเสียงไม่ถูกต้องด้วย ffmpeg
ฉันพยายามแปลงไฟล์ m4a เป็น mp3 ด้วย ffmpeg ด้วยคำสั่งที่ง่ายที่สุดต่อไปนี้: ffmpeg -i in.m4a out.mp3 หลังจากการแปลงระยะเวลาดูเหมือนจะแปลก m4a ดั้งเดิมคือ 4:06 แต่สำหรับ mp3 ใหม่, OS X Finder และ Google Play รายงาน 09:24 ในขณะที่ iTunes ยังรายงาน 4:06 ที่ถูกต้อง ฉันคิดว่าฉันพบปัญหานี้หลายครั้งก่อนเช่นกัน ทำไมนี้ แก้ไขใด ๆ ด้านล่างเป็นผลลัพธ์ของคอนโซลffmpegในกรณีที่มันจะช่วย $ffmpeg -i in.m4a out.mp3 ffmpeg version 1.2.1 Copyright (c) 2000-2013 the FFmpeg developers built …
17 audio  ffmpeg 

2
แยกวิดีโอโดยใช้ FFMPEG ผ่านการตรวจจับฉาก
ฉันเห็นกระทู้นี้ซึ่งเกือบจะเป็นสิ่งที่ฉันต้องการ แต่จริง ๆ แล้วฉันกำลังมองหาการแยกการตรวจจับฉาก แบ่งไฟล์วิดีโอ. mov ขนาดใหญ่โดยอัตโนมัติเป็นไฟล์ขนาดเล็กที่เฟรมสีดำ (เปลี่ยนฉาก) หรือไม่ ตัวอย่างเช่นสมมติว่าฉันมีผู้หญิงบนหน้าจอจาก 0:01 -> 0:05 จากนั้นผู้ชายในฉากที่แตกต่างจาก 0:06 -> 0:09 และผู้หญิงคนที่สองบนหน้าจอจาก 0:10 - > 0:14 อันนี้ (เป็นการดีเลิศ) จะสร้างวิดีโอคลิปสามแบบ ฉันอยากให้มันลงไปถึงระดับเฟรมถ้าเป็นไปได้ด้วยการตรวจสอบอัตโนมัติเมื่อฉากเปลี่ยนไป ** อัพเดท ** ตกลงฉันไปที่จุดเริ่มต้นที่ดี ฉันทำสิ่งต่อไปนี้โดยใช้ FFProbe: ffprobe -show_frames -of compact=p=0 -f lavfi "movie=foo.mp4,select=gt(scene\,.4)" > foo.txt ซึ่งทำให้ฉันมีรายการของการประทับเวลาที่ดูเหมือนจะถูกต้อง! ตอนนี้ขั้นตอนต่อไป - ฉันจะนำรายการบันทึกเวลานี้และใส่กลับเข้าไปใน ffmpeg เพื่อแยกมันได้อย่างไร นี่คือตัวอย่างของการประทับเวลา media_type=video|key_frame=1|pkt_pts=972221|pkt_pts_time=10.802456|pkt_dts=972221|pkt_dts_time=10.802456|best_effort_timestamp=972221|best_effort_timestamp_time=10.802456|pkt_duration=N/A|pkt_duration_time=N/A|pkt_pos=5083698|pkt_size=6220800|width=1920|height=1080|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|tag:lavfi.scene_score=0.503364 media_type=video|key_frame=1|pkt_pts=2379878|pkt_pts_time=26.443089|pkt_dts=2379878|pkt_dts_time=26.443089|best_effort_timestamp=2379878|best_effort_timestamp_time=26.443089|pkt_duration=N/A|pkt_duration_time=N/A|pkt_pos=12736403|pkt_size=6220800|width=1920|height=1080|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|tag:lavfi.scene_score=1.000000 …

3
ปรับขนาดวิดีโอที่มีความกว้างแตกต่างกันเป็นอัตราส่วนความสูงคงที่ด้วย ffmpeg
ฉันต้องการแปลงไฟล์วิดีโอจำนวนมากเป็นแฟลชวิดีโอสำหรับเว็บไซต์ของ บริษัท ของเรา ฉันมีข้อกำหนดว่าวิดีโอทั้งหมดจะต้องอยู่ในรูปแบบ 360p ดังนั้นขนาดของพวกเขาจะเป็น Nx360 FFMpeg ใช้-sโต้แย้งเพื่อระบุความละเอียดเป้าหมายเป็นW x H ฉันไม่รู้จักW idth เพราะขึ้นอยู่กับอัตราส่วนของไฟล์ต้นฉบับ หากแหล่งที่มาคือ 640x480 เป้าหมายจะเป็น 480x360 หากแหล่งที่มาคือ 848x480 เป้าหมายจะเป็น 636x360 มีวิธีที่จะทำกับสวิตช์ ffmpeg บ้างไหม? มันจะรักษาอัตราส่วนกว้างยาวและฉันจะระบุความสูงของวิดีโอเป้าหมายเท่านั้น ฉันสามารถแก้ไขได้อย่างง่ายดายโดยการสร้างโปรแกรมที่จะเปิดตัว ffprobe เพื่อรับขนาดวิดีโอต้นฉบับคำนวณอัตราส่วนภาพจากนั้นคำนวณความกว้างใหม่
17 video  ffmpeg 

4
เร่งวิดีโอบน Linux
ฉันไม่ต้องการใช้เครื่องเล่นเช่น vlc เพื่อเพิ่มความเร็วในการเล่น ฉันต้องการเร่งความเร็วการเล่นในไฟล์ต้นฉบับ ฉันต้องการให้วิดีโอเล่นเร็วขึ้น 2 เท่า

1
กำหนดบิตเรตวิดีโอโดยใช้ ffmpeg
ฉันพยายามหาบิตเรตของวิดีโอ (สำหรับการแปลงรหัส) โดยใช้คำสั่ง ffmpeg ฉันลองใช้คำสั่งต่อไปนี้ ffmpeg -i 28572615.wmv และสร้างผลลัพธ์ต่อไปนี้ Input #0, asf, from '28572615.wmv': Metadata: major_brand : isom minor_version : 1 compatible_brands: isomavc1 encoder : Lavf57.36.100 Duration: 00:02:50.92, start: 0.000000, bitrate: 1982 kb/s Stream #0:0: Video: wmv2 (WMV2 / 0x32564D57), yuv420p, 640x360, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, …

2
การใช้ ffmpeg เพื่อคัดลอกข้อมูลเมตาจากไฟล์หนึ่งไปยังอีกไฟล์หนึ่ง
ฉันต้องการใช้ ffmpeg เพื่อคัดลอกข้อมูลเมตาทั้งหมดที่ไม่เกี่ยวข้องกับประเด็นหลักของวิดีโอ (อัตราเฟรม, ความละเอียด) จากวิดีโอหนึ่งไปยังอีก มีวิธีง่ายๆในการทำเช่นนี้ด้วยคำสั่งเดียว?
17 ffmpeg  metadata 

2
แยกดัชนีของคีย์เฟรมจากวิดีโอโดยใช้ ffmpeg
ฉันใช้ ffmpeg เพื่อแยกเฟรมหลักออกจากวิดีโอ นี่คือคำสั่ง: ffmpeg -i test2.mp4 -vf select='eq(pict_type\,I)' -vsync 2 -s 160x90 -f image2 thumbnails-%02d.jpeg ฉันจะดึงดัชนีของแต่ละเฟรมหลักที่แยกในวิดีโอได้อย่างไร ตัวอย่างเช่นสำหรับ I-frame แรกดัชนีจะเป็น 0 สำหรับวินาทีมันจะเป็น 24 เป็นต้น
17 ffmpeg 

2
สตรีมมิ่ง mp4 ด้วย ffmpeg
ฉันต้องสร้างฟีดที่มีสองสตรีม - webm และ mp4 - เพื่อให้สามารถใช้งานร่วมกับเครื่องเล่นวิดีโอ HTML5 ทั้งหมดได้ สตรีม webm ทำงานได้อย่างสมบูรณ์ อย่างไรก็ตามเมื่อพยายามเข้าถึงสตรีม mp4 เซิร์ฟเวอร์จะแยกข้อผิดพลาดต่อไปนี้: Sat Mar 9 23:21:54 2013 muxer does not support non seekable output นี่คือส่วนของไฟล์ ffserver.conf ที่เกี่ยวข้องกับสตรีม mp4: <Stream channel1.mp4> # Output stream URL definition Feed feed1.ffm # Feed from which to receive video Format mp4 # …
16 ffmpeg  streaming  mp4 

1
การตัดวิดีโอที่เฟรมที่แน่นอนด้วย ffmpeg select filter
แทนที่จะใช้-ssและ-toค้นหาพารามิเตอร์ซึ่งดูเหมือนไม่แม่นยำมากฉันสามารถตัดวิดีโอสำหรับหมายเลขเฟรมที่กำหนดได้หรือไม่ ตัวอย่างเช่น; ffmpeg -i video.webm -startingframe 80 -endingframe 560 output.webm [กรอบที่ 80 และกรอบที่ 560 รวมอยู่ ดังนั้นโดยรวมแล้วทำให้ (560 - 80 +1) เฟรม] หลังจากคำตอบและค้นหาบิตฉันได้ลองคำสั่งบางอย่าง แต่จนถึงตอนนี้ฉันไม่สามารถหาวิธีที่ยอมรับได้ หากมีคนต้องการตัดวิดีโอสตรีมระหว่างเฟรมที่ 250 และ 750 นี่เป็นวิธีที่จะไป มันจะให้ 501 เฟรมเป็นผลลัพธ์: หมายเหตุ: movie.mp4 มี 25 fps และอัตราตัวอย่างเสียง 48k ffmpeg -i movie.mp4 -an -vf "select=between(n\,250\,750),setpts=PTS-STARTPTS" v_stream.webm ตามที่คาดหวังเอาท์พุทคือ 20 วินาทียาวแน่นอน ใช้วิธีการเดียวกันสำหรับเสียง: ffmpeg …
16 ffmpeg 

4
จะตัดการสตรีมเสียงจากไฟล์ MKV ได้อย่างไร?
ฉันพยายามลบไฟล์เสียงที่ไม่ต้องการออกจากไฟล์ MKV (Matroska) เหตุผลที่ฉันต้องการทำเช่นนี้คือหลีกเลี่ยงการเลือกสตรีมที่ต้องการด้วยตนเองใน Windows Media Player ไฟล์อินพุตให้ข้อมูล ffmpeg ต่อไปนี้: Stream #0.0: Video: mpeg4, yuv420p, 704x396 [PAR 1:1 DAR 16:9], 29.98 tbr, 1k tbn, 29.98 tbc Stream #0.1(eng): Audio: aac, 24000 Hz, 5.1, s16 Stream #0.2(jpn): Audio: aac, 24000 Hz, 5.1, s16 Stream #0.3(eng): Subtitle: 0x0000 Stream #0.4(eng): Subtitle: 0x0000 …
16 video  ffmpeg 

2
เชื่อมต่อไฟล์ mp4 สองไฟล์ด้วย ffmpeg โดยไม่เสียคุณภาพ
ฉันต้องการเชื่อมต่อวิดีโอ 2 รายการโดยใช้ ffmpeg ฉันใช้: ffmpeg -i output1.mp4 -scodec copy -vbsf h264_mp4toannexb i0.ts แต่ไฟล์ mp4 ที่ฉันดูแย่กว่านั้นคือไฟล์ต้นฉบับ นี่คือข้อมูลเกี่ยวกับไฟล์ทั้งสอง Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output1.mp4': Metadata: major_brand : isom minor_version : 1 compatible_brands: isom creation_time : 2013-06-13 15:40:36 Duration: 00:00:15.72, start: 0.000000, bitrate: 2053 kb/s Stream #0.0(und): Video: h264 (High), yuv420p, 1280x720, 1931 …
16 ffmpeg 

3
FFmpeg วางเฟรมเมื่อเข้ารหัสลำดับภาพ png ในวิดีโอ x264 mp4
ฉันพยายามที่จะเข้ารหัสภาพลำดับ ( frame0001.png, frame0002.png, ... frame0160.png) ลงในวิดีโอ x264 ใช้คำสั่งต่อไปนี้: ffmpeg -i frame%04d.png -sameq -r 24 out.mp4 หลังจากเข้ารหัสแล้วจะมีข้อความว่าdrop=5"กระโดด" ที่เห็นได้ชัดเจนในวิดีโอ ดูเหมือนว่าคนอื่นมีปัญหาที่คล้ายกัน แต่สำหรับฉันคำตอบที่ยอมรับไม่ได้มีประโยชน์มากเพราะฉันต้องการที่จะไม่มีเฟรมลดลง สวิตช์หายไปจากคำสั่งหรือไม่? หรือฉันทำผิดอย่างอื่น แก้ไข:เพิ่มเอาต์พุตคอนโซล: ffmpeg version N-42347-g299387e Copyright (c) 2000-2012 the FFmpeg developers built on Jul 8 2012 15:46:39 with gcc 4.7.1 configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enable-bzli …

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