петля. відвал .mpeg


1

Потрібно скинути файл MPEG2 у цикл, або для stdout, або з іменованою трубою.

Це працює:

$ { while : ; do cat myLoop.mpg; done; } | vlc -

Це працює над текстовим файлом, що містить "1234 \ n":

$ mkfifo myPipe
$ cat test.txt > myPipe & < myPipe tee -a myPipe | cat -

(він правильно циклізує, виводячи "1234" у кожному рядку). Чому наступне НЕ працює?

$ cat myLoop.mpg > myPipe & < myPipe tee -a myPipe | vlc myPipe

Мені насамперед цікаво переписати перше твердження, щоб видалити неправильне твердження "cat myLoop.mpg". Буде введено у VLC або у FFMPEG, а потім передане у VLC.


Перегляньте поширені запитання . Це не форум, використовуйте коментарі, щоб відповідати іншим, редагувати, щоб оновити свої запитання та відповісти лише на ... добре відповіді.
BinaryMisfit

Відповіді:


1

Остання, ймовірно, не працює, тому що ви vlcчитаєте з названої труби замість stdin.

Подивіться, чи це працює:

cat myLoop.mpg > myPipe & < myPipe tee -a myPipe | vlc -

Що не так з вашим першим прикладом? Кучеряві брекети, до речі, не потрібні:

while :; do cat myLoop.mpg; done | vlc -

Хороший улов. На жаль, це була помилка друку, а не проблема. Як ви сказали, це повинно було бути: cat myLoop.mpg> myPipe & <myPipe tee -a myPipe | vlc - Я опинився під враженням, що кіт був для об'єднання декількох файлів і використання його для виведення одного файлу було неефективним / хакішним. Читання / написання тієї самої труби + трійник може бути не кращою. Питання все ще стоїть, якщо хтось має пропозиції / альтернативи.
Меттью Кук

@Matt: Це марне використання, catколи ви використовуєте його для передачі файлу іншій утиліті по трубі, коли утиліта прийме ім'я файлу як аргумент cat file | grep fooпроти grep foo file. Також немає необхідності використовувати catв Bash для читання файлу в змінну: var=$(cat file)vs. var=$(<file)або годувати його в петлю cat file | whileпроти прогнозу while ... done < file. Однак іноді catце абсолютно правильно. Я думаю, моя ревізія вашого першого прикладу - один із тих часів. Це набагато простіше, ніж названа версія труби.
Денніс Вільямсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.