Không có tệp hoặc thư mục như vậy trong FFmpeg


11

Tôi đang cố gắng sử dụng FFmpeg để trích xuất âm thanh từ mp4 và tôi tiếp tục gặp phải lỗi này:

CFileffmpegvideo.mp4: No such file or directory exist. 

Tôi đang ở trong dấu nhắc lệnh (trong Windows 7) và có đường dẫn là C:\Files\ffmpeg(Trong đó ffmpeg là).

Tôi chạy dòng lệnh này

ffmpeg -i C: \ Files \ ffmpeg \ video.mp4 -f mp3 -ab 320000 -vn nhạc.mp3

Các tập tin trong cùng một thư mục như ffmpeg. Tôi biết tôi đang thiếu một cái gì đó đơn giản ở đây nhưng nó là gì?

Dưới đây là một đoạn video ngắn cho thấy quá trình chính xác.

Ảnh chụp màn hình Lỗi hiển thị


Bạn có thực sự có "file-name.mp4" trong dòng lệnh không? Tôi không có ý với dấu ngoặc kép, nhưng ý tôi là tên tệp cụ thể và chính xác? Và ... bạn có thực sự có một tệp mp4 được gọi là "file-name.mp4" trong thư mục C: \ Files \ ffmpeg không?
Bon Gart

@BonGart - Có tôi làm
L84

Có tôi làm, cho cả hai? Có nghĩa là bạn đang sử dụng cụm từ chính xác đó VÀ bạn có một tệp mp4 với tên chung là "file-name.mp4" trong thư mục cụ thể đó không? Bởi vì đó là những gì lỗi đang nói với chúng tôi ... rằng không có bất kỳ tệp nào có tên đó trong thư mục đó.
Bon Gart

@BonGart - Tôi đã đăng một vài ảnh chụp màn hình hiển thị thư mục và màn hình nhắc lệnh với lỗi.
L84

Đồng ý. Vì vậy, câu trả lời là KHÔNG .. bạn KHÔNG sử dụng cụm từ chính xác "file-name.mp4" trong dòng lệnh và bạn KHÔNG có một tệp thực sự gọi là "file-name.mp4" trong thư mục đó. Những gì bạn nên làm là xóa "c: \ Files \ ffmpeg" khỏi dòng lệnh và thử lại. Vì tệp bạn đang chuyển đổi nằm trong cùng thư mục với ffmpeg, nên bạn không cần đường dẫn tuyệt đối.
Bon Gart

Câu trả lời:


3

Tôi đã tạo lại tình huống của bạn (tốt nhất có thể) trên máy tính này sau khi tôi xem video của bạn. Tôi đã tải xuống cùng một phiên bản ffmpeg (không biết về bản dựng, vì tôi bị giới hạn sử dụng phiên bản 32 bit), sao chép tệp thực thi từ thư mục bin vào tệp chính, đặt tệp mp4 có tên "video.mp4" vào ở đó và sử dụng các tham số dòng lệnh chính xác của bạn, trừ đường dẫn tuyệt đối ...

ffmpeg -i video.mp4 -f mp3 -ab 320000 -vn music.mp3

nhập mô tả hình ảnh ở đây

.. và nó đã làm việc hoàn hảo cho tôi. Bây giờ, tôi đã không làm điều đó từ cùng một cấu trúc thư mục như bạn đã thiết lập (c: \ files \ ffmpeg). Bạn đã cài đặt ffmpeg ở bất cứ nơi nào khác trên máy tính chưa? Bạn đã xem xét thử bản dựng / phiên bản trước chưa? Còn 32 bit so với 64 bit ... hay ngược lại thì sao? Đây có phải là lần đầu tiên bạn sử dụng phiên bản ffmpeg này? Hoặc ... nó đã hoạt động hoàn hảo cho đến bây giờ? Bạn đã thử đổi tên tập tin đầu vào (ngớ ngẩn, tôi biết)?


Cảm ơn bạn đã giúp đỡ. Tôi đã quay một đoạn video ngắn cho thấy quá trình chính xác. Không may mắn. Đây là liên kết: screencast.com/t/f50qR5eWq2B
L84

@Lynda Tôi đã chỉnh sửa câu trả lời của mình một chút, bao gồm một số khả năng ở phía dưới, nâng cấp ffmpeg lên cùng phiên bản như bạn hiển thị ...
Bon Gart

Tôi sẽ phải thử xây dựng khác nhau, tôi đoán. Tôi đã thử đổi tên, đặt hàng lại hệ thống tập tin vv và vẫn cho kết quả tương tự. Đây là nơi duy nhất tôi đã cài đặt nó. Và tôi đã thử ffmpeg trên một máy tính cũ có cùng kết quả và ngừng thử vì máy tính có vấn đề. Đây là một máy tính khác nhau mà không có vấn đề của máy tính khác và tĩnh và kết quả. Tôi sẽ thử một bản dựng khác tôi đoán.
L84

13

Bạn có thể có phần mở rộng gấp đôi của tệp, "video.mp4" của bạn thực tế là "video.mp4.mp4" (nhìn vào màn hình của thư mục Windows của bạn, README.txt có phần mở rộng bị ẩn)


3

tìm ra vấn đề

nếu bạn gõ dir trong cửa sổ nhắc ff, hãy kiểm tra FILEER mà nó đang tham chiếu.

Đối với tôi, nó thực sự là tham chiếu thư mục bin chứ không phải thư mục tệp bó ffmpeg.

Tôi đặt tập tin video vào thư mục "bin" và nó không tìm thấy vấn đề gì.


Đây là câu trả lời đúng!
papajo

0

Có vẻ như ffmpeg đang gặp sự cố với tên tệp tuyệt đối của bạn. Tôi đoán, vì nó tập trung nhiều hơn vào các môi trường giống Unix, nên nó sử dụng \ làm ký tự thoát. Thay vào đó, hãy thử sử dụng dấu gạch chéo.


0

Thực hiện tìm kiếm TRỰC TIẾP của thư mục để xem tên tệp chưa được thay đổi thành "File.mp4.mp4" hay tương tự. Đó là vấn đề của tôi khi sử dụng Windows Vista và 7.


0

Tôi biết đây là một bài viết cũ nhưng chỉ trong trường hợp người khác tình cờ đọc được nó và cần sự giúp đỡ; bạn có thể thêm đường dẫn đầy đủ vào tất cả các tệp có liên quan và bạn có thể chạy nó từ bất kỳ đâu!

Chỉnh sửa lệnh này với các giá trị phù hợp và sao chép / dán nó vào dấu nhắc lệnh:

C:\ReplaceThisWithFFMpegInstallFolder\ffmpeg.exe -i "C:\ReplaceThisWithSourceFolder\ReplaceThisWithVideoFileName.mp4" -f mp3 -ab 320000 -vn "C:\ReplaceThisWithDestinationFolder\ReplaceThisWithAudioFileName.mp3"


0

Hãy chắc chắn rằng tên tệp không có dấu cách. Trong trường hợp của tôi, có một khoảng trắng sau phần mở rộng .mp4, tạo cú pháp đúng: "input.mp4"


0

Tôi đã gặp vấn đề như thế này với bản dựng Win64 thông qua Cygwin. Tôi nghĩ rằng việc chuyển đổi đường dẫn tự động đã gây ra lỗi và tôi muốn nó hoạt động trong nhiều tình huống hơn như với các đường dẫn kiểu * NIX.

Điều này cũng sẽ xảy ra khi tôi gọi thủ công cygpath khi đường ống dữ liệu từ bảng ghi tạm của tôi.

Tôi nghĩ rằng các đường dẫn kiểu Windows ban đầu là vấn đề, nhưng đó là bởi vì khi tôi thay đổi + nhấp chuột phải để sao chép các đường dẫn của chúng trong trình duyệt tệp, nó sẽ thêm các trích dẫn xung quanh chúng.

Tôi đã cố gắng sử dụng phương pháp này: ffmpeg -v error -i file.avi -f null - https://superuser.com/a/100290/175686

Vì vậy, kết quả hoạt động là các đường dẫn kiểu Windows không được trích dẫn.

Một liên kết tiện lợi khác: /unix/77016/ffmpeg-potype-type-glob-not-loading-files-in-c chính-order


0

Tôi đã có lỗi này vì tên tệp của tôi có một khoảng trắng trong đó. Để giải quyết nó, 1) đặt thư mục làm việc với Pushd 2) đặt tên tệp của bạn vào trong ngoặc kép""

Xem ở đây để xem một ví dụ làm việc

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.