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

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

1
แยกเสียง mp3 จาก mp4: เสียงยาวกว่าวิดีโอหรือไม่
ฉันมีวิดีโอ mp4 ที่ไม่มีปัญหาการซิงค์เสียง / วิดีโอ ฉันพยายามที่จะแยกเสียงเป็นไฟล์ mp3 ทำตามคำแนะนำในหัวข้อนี้: การแยกเสียงจากวิดีโอ MP4 เป็น MP3 ffmpeg -i input_file.mp4 -vn -abr 128k -acodec libmp3lame output_file.mp3 อย่างไรก็ตาม mp3 จะมีความยาว 7:51 นาที (ในขณะที่วิดีโอนั้นคือ 3:26) เมื่อฉันเล่น mp3 ผู้เล่นจะสิ้นสุดเวลา 3:26 เหตุใดจึงเป็นเช่นนี้ ยังไงก็ตามฉันก็ลองใช้ตัวเข้ารหัส Mac builtin เพื่อเข้ารหัส mp4 ถึง m4a (Finder-> Services-> เข้ารหัสไฟล์วิดีโอที่เลือก -> เสียงเท่านั้น) และไม่มีปัญหา m4a เอาต์พุตมีความยาว 3:26
1 conversion  ffmpeg  mp3  mp4 

1
วิธีการฝังหลายไฟล์เสียงลงในไฟล์วิดีโอหนึ่งไฟล์ที่มีไทม์ไลน์ชดเชย
ฉันมีไฟล์วิดีโอ: screencast.mpg (100sec) และไฟล์เสียงหลายไฟล์ (ชื่อไฟล์บ่งบอกถึง offset): 10.wav (10sec) 30.wav (5sec) 45.wav (8sec) ฉันจะรวมไฟล์เหล่านั้นเข้าด้วยกันได้อย่างไร: V:|||||||||||||||||||||||||||||||||||||||||||||||||| A: ..... ... .... ฉันต้องการเขียนสคริปต์เพื่อทำงานนี้โดยอัตโนมัติ ฉันลองffmpeg -itsoffsetตัวเลือกแล้ว แต่ล้มเหลว
1 bash  ffmpeg  sox 

1
FFmpeg / AVconc - จับภาพวิดีโอที่ไร้รอยต่อ
ฉันมีกล้อง IP หลายตัวที่ฉันต้องการจับภาพวิดีโอจากอย่างต่อเนื่อง ฉันกำลังสร้างสคริปต์ที่จะล้อมรอบ ffmpeg เพื่อจับภาพจากแหล่ง RTSP ต่างๆ แต่ฉันกำลังดิ้นรนกับวิธีการจับภาพและจัดเก็บข้อมูล .. โดยเฉพาะฉันจะจับคลิปที่ไร้รอยต่อได้อย่างไร? เพื่อชี้แจงหากฉันเพียงแค่เรียกใช้คำสั่งเช่นนี้: ffmpeg -i rtsp://ip_cam file.mp4 สิ่งนี้จะทำงานตลอดไปจนกว่าจะเต็มฮาร์ดไดรฟ์ของฉัน (หรือจนกว่าฉันจะถึงขีด จำกัด สูงสุดของ ffmpeg หรือระบบไฟล์) ดังนั้นความคิดของฉันคือการทำสิ่งนี้: ffmpeg -i rtsp://ip_cam -fs 104857600 file-1.mp4 สิ่งนี้จะ จำกัด ไฟล์ไว้ที่ 100MB ต่อไฟล์ สคริปต์แรปเปอร์ของฉันสามารถเริ่มต้นอินสแตนซ์ใหม่ทันทีที่สิ่งนี้เสร็จสิ้น: ffmpeg -i rtsp://ip_cam -fs 104857600 file-2.mp4 เป็นต้น ปัญหาด้วยวิธีนี้ก็คือว่ามันจะใช้เวลา 1-2 วินาทีเพื่อ ffmpeg ที่จะเริ่มต้นซึ่งหมายความว่าในช่วงเวลานั้นกล้องในคำถามไม่ได้บันทึกอะไร อีกสิ่งหนึ่งที่ควรพิจารณาคือสำหรับแต่ละไฟล์ฉันจำเป็นต้องทราบเวลาเริ่มและหยุดเช่นfile-1.mp4อาจอ้างอิงถึง "2015-09-12 09:03:42" …
1 linux  video  ffmpeg 

1
วิธีที่เร็วที่สุดในการเข้ารหัสภาพ + เสียงสำหรับ Youtube จากบรรทัดคำสั่ง?
ฉันมี mp3 และรูปภาพและฉันต้องการทำคลิปง่าย ๆ ที่จะอัปโหลดไปยัง Youtube มีวิธีแก้ปัญหาที่รวดเร็วหรือไม่? หากรูปแบบวิดีโอนั้นออกแบบมาไม่ดีอาจเป็นไปได้ไหมที่คุณจะใช้คลิปวิดีโอที่แสดงล่วงหน้าเท่านั้น? ใช้งานได้ดียกเว้นว่าใช้เวลานานเท่าที่เสียงจะใช้งาน: ffmpeg -loop_input -r ntsc -i "%IMAGE%" -i "%AUDIO%" -r 1 -acodec copy -shortest -re -force_fps "%VIDEO%" การดำเนินการนี้ใช้เวลาไม่กี่วินาที แต่ให้ผลลัพธ์เป็นวิดีโอหน้าจอสีดำที่เล่นโดยเครื่องเล่นวิดีโอเดสก์ท็อปสำเร็จ แต่ไม่ได้รับการยอมรับจาก Youtube: ffmpeg -i "%IMAGE%" -i "%AUDIO%" -acodec copy "%VIDEO%" Windows 7 ต้องการการรักษาคุณภาพเสียงไว้เหนือคุณภาพวิดีโอ

2
วิธีใส่เส้นขอบรอบ ๆ วิดีโอเพื่อป้องกันการตัดเนื้อหา
ทีวีของฉันเก่าและด้วยเหตุผลบางอย่างคลิปเนื้อหาบางส่วนออกจากขอบด้านซ้าย ฉันกำลังพยายามแสดงวิดีโอที่ขอบด้านซ้ายมีความสำคัญต่องานนำเสนอ มีวิธีใดบ้าง (ที่มี iMovie / ffmpeg / Gimp และอื่น ๆ ) ที่ฉันสามารถลดขนาดวิดีโอและล้อมรอบด้วยเส้นขอบสีดำหนาเพื่อให้เส้นขอบนี้ถูกตัดเมื่อดูบนทีวีของฉันแทนที่จะเป็นเนื้อหา กล่าวอีกนัยหนึ่งฉันต้องการไปจากนี้: สำหรับสิ่งนี้: แต่ฉันต้องการทำเช่นนั้นกับวิดีโอ (ในรูปแบบ mp4)

0
ลายน้ำสเกล (หรือกึ่งกลาง) พร้อม ffmpeg ไปจนถึงความละเอียดเดียวกับไฟล์เอาต์พุต
ฉันต้องการให้ลายน้ำถูกปรับขนาดที่ความละเอียดเดียวกันกับไฟล์เอาต์พุต ฉันจะทำสิ่งนี้ได้อย่างไร หรือฉันจะกำหนดลายน้ำให้อยู่ตรงกลางของผลลัพธ์แทนได้อย่างไร นี่คือสิ่งที่ฉันมี: ffmpeg -i input.mp4 -i watermark.png -filter_complex \ "[0:v]scale=min(640\, iw):-1[scaled]; \ [scaled][1:v]overlay[scaledwatermarked]; \ [scaledwatermarked]drawtext=fontfile=/path/to/FreeSans.ttf:text='TEST':\ x=0:y=0[text]" -map "[text]" \ -vcodec libx264 output.mov ดังนั้นฉันจึงขยายขนาดไฟล์ภาพยนตร์อินพุทที่ใช้scale=min(640\, iw):-1เช่นสูงสุด 640 พิกเซลในแนวนอนขณะที่รักษาอัตราส่วนของไฟล์ภาพยนตร์อินพุท จากนั้นฉันก็เพิ่มลายน้ำแล้วตามด้วยข้อความ ลายน้ำควรถูกปรับให้มีขนาดเท่ากับไฟล์เอาต์พุตโดยไม่สนใจอัตราส่วนภาพที่เป็นผลลัพธ์ของไฟล์ลายน้ำ ควรยืดหรือหดให้พอดีกับความกว้างและความสูงของเอาต์พุตโดยไม่สนใจอัตราส่วนภาพดั้งเดิมของไฟล์ลายน้ำ เมื่อใช้คำสั่งข้างต้นไฟล์ที่ใส่ลายน้ำแทนจะถูกตัดออกแทนที่จะถูกย่อขนาด (จากคำสั่งฉันได้ลบคุณภาพ, รหัสเวลาและตัวเลือกเสียงเพื่อความชัดเจน) นี่คือผลลัพธ์จาก ffmpeg: ffmpeg version 2.1.1 Copyright (c) 2000-2013 the FFmpeg developers built on Dec 7 2013 …

0
หลีกเลี่ยงความล่าช้าของเสียงด้วยการแปลง ffmpeg?
โปรดช่วยบันทึกใบสมัครวิทยาลัยของฉัน! ฉันกำลังอัปโหลดวิดีโอไปยังเว็บไซต์การรับสมัครของโรงเรียนซึ่งแปลงเป็นไฟล์คุณภาพต่ำ ไฟล์ที่แปลงเหล่านี้ด้วยเหตุผลบางอย่างมีความเอียงของเสียง (เสียงเริ่มเร็วขึ้น ~ 100ms ที่ทำลายวิดีโอ) เป็นวิธีการประมวลผลวิดีโอของฉันล่วงหน้าหรือไม่เพื่อให้เสียงเอียงไม่เกิดขึ้นเมื่อฉันอัปโหลด ความช่วยเหลือใด ๆ ที่นี่จะได้รับการชื่นชมอย่างมากฉันไม่ทราบมากเกี่ยวกับเสียง / วิดีโอโดยเฉพาะนอกเหนือจาก googling พื้นฐาน น่าเสียดายที่ฉันไม่ทราบคำสั่งที่แน่นอนว่าเว็บไซต์กำลังทำงานอยู่ (ฉันเดาว่าเป็น ffmpeg) แต่ฉันใช้ffprobeกับไฟล์ต้นฉบับและไฟล์ที่แปลงแล้วซึ่งเป็นผลลัพธ์: ORIGINAL Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 320 kb/s (default) Stream #0:1(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv), 1920x1080 [SAR 1:1 DAR 16:9], 17982 …
1 audio  video  ffmpeg 

1
ทำให้ไฟล์ MKV เหมาะสมสำหรับการสตรีมด้วย ffmpeg (หรือ avconv) - จะย้ายเมทาดาทาทั้งหมดไปยังจุดเริ่มต้นของไฟล์ได้อย่างไร
คำถามของฉันฉันคิดว่ามันค่อนข้างง่าย ... บางครั้งฉันต้องการดาวน์โหลดไฟล์ MKV ขนาดใหญ่จากเว็บเซิร์ฟเวอร์ของฉันและเล่นกลับในขณะที่กำลังดาวน์โหลด อย่างไรก็ตามหากฉันทำเช่นนี้กับไฟล์ MKV ที่ฉันได้ทำการแปลงรหัสบ่อยครั้งไฟล์จะแสดงว่ามันสั้นกว่าที่เป็นจริงและหลังจากที่มันถึงจุดสิ้นสุดแล้วมันก็จะเล่นต่อไปและแสดงเวลาที่ไม่ถูกต้อง ... เช่น มันจะแสดง 2: 50/2: 50 แต่ยังคงเล่นต่อไป แต่ถ้าฉันพยายามที่จะย้อนกลับด้วยปุ่มลูกศรผู้เล่นจะผิดพลาดหรือข้ามกลับไปที่จุดเริ่มต้นของไฟล์ ดังนั้นฉันจะย้ายข้อมูลเมตาทั้งหมดไปยังจุดเริ่มต้นของไฟล์ในขณะที่เข้ารหัสเพื่อให้โปรแกรมเล่นจะรู้ว่าไฟล์นั้นนานแค่ไหนโดยไม่ต้องมีข้อมูลทั้งหมด คุณสามารถทำได้ด้วยmp4รูปแบบโดยใช้-movflags faststartแต่จะทำmkvอย่างไร? ฉันขอโทษถ้าคำถามนี้ถูกถามและตอบที่อื่นฉันไม่สามารถนึกถึงคำหลักที่ดีกว่าที่ฉันเคยใช้และคำที่ฉันใช้นั้นไม่ได้ผล

0
การใช้ ffmpeg สำหรับการแปลง mp3: ไม่สามารถหาพารามิเตอร์ codec / ขนาดเฟรมที่ไม่ระบุ
ฉันมีไฟล์ mp3 ที่ฉันไม่สามารถเล่นกับเครื่องเล่นเสียงใด ๆ ที่ฉันมีใน Windows 8 ดังนั้นฉันจึงตัดสินใจแปลงไฟล์โดยใช้ ffmpeg ฉันดาวน์โหลดจากเว็บไซต์ซึ่งสามารถเล่น mp3 ได้ ฉันต้องการเก็บ 497 วินาทีจากวินาทีที่ 219 เป็นต้นไป ffmpeg -ss 219 -t 497 -i INPUT.mp3 -codec:a libmp3lame -qscale:a 9 OUTPUT.mp3 ฉันเชื่อว่าฉันถูกต้องโดยใช้คำสั่งนี้ แต่ ffmpeg ให้ผลลัพธ์ต่อไปนี้: ffmpeg version N-58456-ga9a3afe Copyright (c) 2000-2013 the FFmpeg developers built on Nov 25 2013 22:01:38 with gcc …
1 audio  ffmpeg  mp3  codec 

2
วางทับไฟล์เสียงไปยังวิดีโอที่มีอยู่ ณ จุดเฉพาะ
ฉันกำลังใช้คำสั่งคล้ายกับนี้: ffmpeg เพิ่มเสียง แต่ให้ความยาววิดีโอเหมือนกัน (ไม่ใช่ -shortest) ฉันต้องการเพิ่มไฟล์เสียงที่ด้านบนของวิดีโอที่มีอยู่ (ซึ่งจะมีไฟล์เสียงของตัวเอง) ที่จุดเฉพาะของวิดีโอ ฉันต้องการให้มันรักษาความยาววิดีโอดั้งเดิมและสตรีมเสียงดั้งเดิมของวิดีโอ มีวิธีการทำเช่นนี้?
1 audio  video  ffmpeg 

1
สุ่มเลือก 10 วินาทีจากไฟล์ mp3
ฉันมีไดเรกทอรีtracksที่มี 3 ไฟล์track1.mp3, ,track2.mp3 track3.mp3ฉันต้องการที่จะเลือกอันสุ่มของ 10 sample.mp3วินาทีจากแต่ละไฟล์และรวมชิ้นเหล่านี้เป็นไฟล์ใหม่ที่เรียกว่า ฉันจะทำสิ่งนี้โดยใช้ ffmpeg ได้อย่างไร ฉันค่อนข้างใหม่สำหรับ ffmpeg และสิ่งที่ฉันทำได้ก็คือการแยกไฟล์ออกเป็นชิ้น ๆ ffmpeg -i track1.mp3 -f segment -segment_time 10 -c copy out%03d.mp3 มีคนช่วยด้วย ฉันใช้ Mac OSX เซียร์ราสูงและเปลือกทุบตี

0
สร้างวิดีโอตามเวลาด้วยการรวมเฟรมโดยใช้ ffmpeg
ฉันมีวิดีโอ 30fps แบบเรียลไทม์และฉันต้องการแปลงเป็นวิดีโอ 30 เฟรมต่อวินาทีเพื่อให้เฟรมแต่ละเฟรมของวิดีโอเป้าหมายเป็นผลมาจากค่าเฉลี่ยเลขคณิตของเฟรมดั้งเดิม 10 เฟรมในพื้นที่สีเชิงเส้น ฉันคิดว่าจะใช้framerateตัวกรอง แต่มันถูกออกแบบมาเพื่อแทรกเฟรมเฉพาะเมื่อเพิ่มอัตราเฟรม เมื่อฉันลดอัตราเฟรมมันลดลงเพียง 9/10 ของเฟรมทำให้เกิดการเคลื่อนไหวกระตุกของวัตถุที่เคลื่อนที่เร็วแทนที่จะเป็นภาพเคลื่อนไหวที่ราบรื่น มีวิธีใดบ้างในการบรรลุสิ่งนี้ด้วยคำสั่ง ffmpeg?

1
การรวมตัวกรอง ffmpeg นำไปสู่การบิดเบือนเสียง
ฉันใช้คำสั่งต่อไปนี้เพื่อลบความเงียบออกจากจุดเริ่มต้นและจุดสิ้นสุดของการบันทึก: ffmpeg -i input.webm -af "silenceremove=1:0:0.03, areverse, silenceremove=1:0:0.03, areverse" output.webm ฉันพบว่าการผูกมัดตัวกรองเช่นนี้ทำให้เกิดการบิดเบือน (คลิก) ในไฟล์เอาต์พุตที่สร้างขึ้น ถ้าฉันแยกตัวกรองเหล่านี้ออกเป็นคำสั่งที่แยกต่างหากมันฟังดูสมบูรณ์แบบ มีวิธีใดในการทำความสะอาดความผิดเพี้ยนนี้ในขณะที่ยังคงผูกมัดตัวกรองอยู่หรือไม่
1 audio  ffmpeg 

0
สร้างภาพขนาดย่อในบางช่วงเวลาจากวิดีโอโดยไม่ต้องอ่านวิดีโอทั้งหมด [FFMPEG]
ปัญหาสั้น : ฉันต้องการถ่ายภาพหน้าจอบางภาพจาก URL วิดีโอในบางช่วงเวลา แต่ฉันไม่ต้องการอ่านวิดีโอทั้งหมด สมมติว่าฉันมีวิดีโอที่เก็บไว้ใน URL บางรายการ (เช่นhttps://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_30mb.mp4 ) ขนาดของวิดีโอมีขนาดใหญ่ แต่เราสามารถค้นหาวิดีโอได้ ตอนนี้ฉันต้องการถ่ายภาพหน้าจอ / ภาพขนาดย่อ 4 ภาพของวิดีโอ เช่นถ้าวิดีโอมีขนาด 100s ฉันต้องการถ่ายภาพหน้าจอที่ 20s, 40s, 60s และ 80s การใช้บทช่วยสอนจากวิกิ: สร้างภาพขนาดย่อทุกๆ X วินาทีของวิดีโอที่ฉันทำได้ ffmpeg -i 'https://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_30mb.mp4' -vf fps=1/20 img%03d.jpg แต่ปัญหาของวิธีนี้คืออ่านอินพุตทั้งหมดก่อนส่งคืนสกรีนช็อต แต่ในขณะที่การป้อนข้อมูลสามารถค้นหาได้นี้ดูเหมือนว่าจะเสีย วิธีที่ดีกว่าคือการค้นหาตำแหน่งและรับ ตอนนี้เรากำลังใช้สิ่งที่ชอบ for i in 20 to 80 step 20 ffmpeg -noaccurate_seek …

0
ตัวเข้ารหัสวิดีโอ & ตัวแบ่งส่วนสำหรับ HLS VoD คุณภาพต่ำ
ฉันกำลังพยายามเข้ารหัสและแบ่งกลุ่มวิดีโอสำหรับ HLS on Demand (VoD) ฉันใช้รหัสต่อไปนี้สำหรับเช่น: ffmpeg -i 20170706_174314.mp4 -c 24 \ -vcodec libx264 -acodec aac -ac 1 -strict -2 -b:v 128k \ -profile:v baseline -maxrate 400k -bufsize 1835k \ -hls_time 10 -hls_playlist_type vod -vsync 1 \ video_chunks/index1.m3u8 \ -c 24 -vcodec libx264 -acodec aac -ac 1 -strict -2 -b:v …

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