![VLC 네트워크(MojaveOS)에서 m3u를 자동으로 로드하는 스크립트 만들기](https://rvso.com/image/1711478/VLC%20%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC(MojaveOS)%EC%97%90%EC%84%9C%20m3u%EB%A5%BC%20%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C%20%EB%A1%9C%EB%93%9C%ED%95%98%EB%8A%94%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%20%EB%A7%8C%EB%93%A4%EA%B8%B0.png)
그래서 항상 VLC/개방형 네트워크를 열고 IPTV m3u 네트워크 주소를 복사하여 붙여넣어 로드해야 하는 것에 지쳤습니다.
링크를 항상 복사하여 붙여넣을 필요 없이 자동으로 VLC를 열고 내 m3u를 로드하는 스크립트를 만들 수 있도록 도와줄 수 있는 사람이 있습니까?
m3u를 사용하여 간단한 재생 목록을 만들 수 있다는 것을 알고 있지만 문제는 채널이 변경되거나 채널을 추가/제거한다는 것입니다.
따라서 최신 목록을 로드하고 항상 로드하는 자동 스크립트를 사용하면 도움이 될 것입니다.
답변1
GUI 방식
vlc http://link.to/playlist.m3u
또는 순수 터미널
nvlc http://link.to/playlist.m3u
답변2
항상 링크를 복사하여 붙여넣을 필요 없이 어떻게 VLC를 열고 m3u를 로드할 수 있나요?
명령줄 옵션 중 하나를 사용하십시오 [stream]
. Windows를 사용하는 경우 추가 명령줄 옵션을 포함하도록 VLC 바로가기를 변경할 수 있습니다.
Usage: vlc [options] [stream] ...
You can specify multiple streams on the commandline.
They will be enqueued in the playlist.
The first item specified will be played first.
...
Stream MRL syntax:
[[access][/demux]://]URL[#[title][:chapter][-[title][:chapter]]]
[:option=value ...]
Many of the global --options can also be used as MRL specific :options.
Multiple :option=value pairs can be specified.
URL syntax:
file:///path/file Plain media file
http://host[:port]/file HTTP URL
ftp://host[:port]/file FTP URL
mms://host[:port]/file MMS URL
screen:// Screen capture
dvd://[device] DVD device
vcd://[device] VCD device
cdda://[device] Audio CD device
udp://[[<source address>]@[<bind address>][:<bind port>]]
UDP stream sent by a streaming server
vlc://pause:<seconds> Pause the playlist for a certain time
vlc://quit Special item to quit VLC
원천VLC 명령줄 도움말 - VideoLAN Wiki
쉘 스크립트를 사용할 수 있는 경우 다음 스크립트를 사용하여 특정 요구 사항에 맞게 수정할 수 있습니다.
if [[ "$1" == "" ]] ; then exit 1 fi DUMMY="" # location of playlist PLAYLIST=/tmp/playlist.m3u ### the playlist is only updated from the Freebox if the playlist file does ### not exist ### simply remove the playlist file given by the location $PLAYLIST ### to force an update the next time the script is called if [[ ! -f $PLAYLIST ]] ; then RAWPLAYLIST=`mktemp` echo "recovering Playlist" wget -q http://mafreebox.freebox.fr/freeboxtv/playlist.m3u -O $RAWPLAYLIST ### the following trick is found from: ### http://stackoverflow.com/questions/10207354/how-to-remove-all-of-the-diacritics-from-a-file ### and allows to replace accent characters by non-accent characters iconv -f utf8 -t ascii//TRANSLIT $RAWPLAYLIST > $PLAYLIST \rm $RAWPLAYLIST fi COMMAND="grep -v rtsp $PLAYLIST | grep -v EXTM3U " for i in $@ ; do if [[ $i == "-dummy" ]] ; then DUMMY=dummy else COMMAND=$COMMAND" | grep -i "$i fi done COMMAND=$COMMAND" | head -1" FLINE=`mktemp` eval $COMMAND > $FLINE LINE=`cat $FLINE` N=`grep -xn -f $FLINE $PLAYLIST | cut -d : -f 1` \rm $FLINE N=$((N + 1)) LINK=`head -n $N $PLAYLIST | tail -1` if [[ "$LINE" == "" ]] ; then echo "No matching channel found" exit 1 fi echo "Opening vlc for: $LINE" echo $LINK if [[ "$DUMMY" == "" ]] ; then vlc "$LINK" --network-caching=1500 --no-loop fi
PATH(개인 bin 폴더에 있을 수 있음:
~/bin/
PATH 에 있는 경우)에 저장합니다. 예를 들어FB_VIEW.sh
로 실행 가능하게 만듭니다chmod +x FB_VIEW.sh
.그러면 간단한 사용법은 다음과 같습니다:
FB_VIEW.sh "list of patterns"
이러한 패턴을 포함하는 재생 목록의 첫 번째 채널을 시작합니다(공백으로 구분된 하위 패턴 사이의 순서는 중요하지 않습니다). 패턴 목록에는 "-dummy"라는 단어가 포함될 수 있습니다. 이 경우 발견된 채널과 rtsp 링크만 표시되지만 vlc는 실제로 시작되지 않습니다. 패턴 일치는 대소문자를 구분하지 않습니다. 프로그램된 채널 번호를 패턴으로 사용할 수도 있지만 Freebox에서는 동일한 번호에 대해 다른 플럭스(Adsl, TNT, HD, 표준, 기본 직불)가 있을 수 있으며 HD 또는 같은 두 번째 패턴을 추가해야 할 수도 있습니다. TNT는 올바른 TV 플럭스를 선택합니다.
이 버전에서는 스크립트를 처음 시작하면 Freebox에서 재생 목록을 다운로드하고(wget 사용) 악센트가 있는 문자를 악센트가 없는 문자로 바꾸고 기본 위치인 /tmp/playlist.m3u에 저장합니다(요령을 찾았습니다) 이를 위해 어제). 나중에 재생 목록을 강제로 업데이트하려면 기존 파일을 제거하기만 하면 됩니다. 그러면 다음에 스크립트가 호출될 때 업데이트가 완료됩니다(약 1-2초 소요). 무료는 재생 목록의 특정(일반적으로 적당한) 변경 사항을 정기적으로 적용합니다.
재생 목록의 이름/기본 위치를 쉽게 수정할 수 있으며 "업데이트 부분"(원하지 않는 경우)을 제거할 수도 있습니다. 이 경우 재생 목록을 적절한 위치에 수동으로 제공해야 합니다.
원천m3u 재생목록의 특정 항목을 재생해 보세요!? - VideoLAN 포럼