aboutsummaryrefslogtreecommitdiff
path: root/build/posts/jelly/index.html
blob: eef37be887f755eb6b4a180261b47944f29586b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<!doctype html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<meta name="color-scheme" content="dark light">
	<link rel="icon" href="data:,">
	<title>Transferring Media from macOS to a Jellyfin Server (Raspberry Pi 4)</title>
	<link href="/atom.xml" type="application/atom+xml" rel="alternate" title="Atom feed for blog posts" />
	<link href="/rss.xml" type="application/rss+xml" rel="alternate" title="RSS feed for blog posts" />
<style>*{box-sizing:border-box;}body{font-family:sans-serif;line-height:1.33;margin:0 auto;max-width:650px;padding:1rem;}blockquote{background:rgba(0,0,0,0.1);border-left:4px solid;padding-left:5px;}img{max-width:100%;}pre{border:1px solid;overflow:auto;padding:5px;}table{text-align:left;width:100%;}.footnotes{font-size:90%;}</style>
</head>

<nav>
	<a href="#menu">Menu &darr;</a>
</nav>

<main>
<h1 id="transferring-media-from-macos-to-a-jellyfin-server-raspberry-pi-4">Transferring Media from macOS to a Jellyfin Server (Raspberry Pi 4)</h1>
<p>2022-03-12</p>
<p>I run a personal media server using Jellyfin on a Raspberry Pi 4 in my home. It&#8217;s pretty great and works well across most devices - Google TV, iOS and Android devices, Chromebooks, etc.</p>
<p>The only small headache is adding content (ie. audio, videos) to the existing hard drive that Jellyfin reads from. The last thing you want to do is connect a keyboard and monitor to your Pi to add a few files. Especially if your Pi is setup like mine and buried at the back of a hidden cabinet.</p>
<p>More annoying would be the need to remove the hard drive itself, connect it to your device that has the new files you wish to transfer and then port them over. Big ol&#8217; pass on that system.</p>
<h2 id="sshscp-to-the-rescue">SSH&#47;SCP to the Rescue</h2>
<p><em>Important</em>: before we begin, I should mention that this article assumes the following:</p>
<ul>
<li>The files you plan to transfer from are on a macOS device</li>
<li>You have setup Jellyfin on your Raspberry Pi device</li>
<li>SSH is enabled and accessible on the Pi (across your local network)</li>
<li>The Jellyfin server&#8217;s hard drive is mounted in the root directory via something like <code>&#47;mnt</code></li>
</ul>
<p>Good? Moving on then&#8230;</p>
<p>Open your terminal of choice and use the following command:</p>
<pre><code>scp movie.mp4 pi_user_name@PI_IP_ADDRESS:&#47;mnt&#47;movies&#47;movie.mp4
</code></pre>
<ol>
<li><code>movie.mp4</code> is the file in the current macOS directory we plan to copy over</li>
<li><code>pi_user_name</code> is the username you setup on your Raspberry Pi</li>
<li><code>PI_IP_ADDRESS</code> is, of course, your Pi&#8217;s IP address</li>
<li>The appended <code>:&#47;mnt&#47;movies&#47;movie.mp4</code> is the directory your Jellyfin server uses to pull-in media</li>
</ol>
<p>You&#8217;ll be prompted for the user password. Once entered the file will begin copying over to your remote Jellyfin server. That&#8217;s it! Although, I should mention a little bonus feature that you should always have in your back pocket, since Jellyfin can sometimes be picky with media file formats:</p>
<h2 id="converting-media-files-with-ease">Converting Media Files with Ease</h2>
<p>This is where your new best friend <code>FFmpeg</code> comes into your life (if they weren&#8217;t there already).</p>
<ul>
<li>Download and install <code>FFmpeg</code> &#8211;&#62; <a href="https://www.ffmpeg.org/download.html">ffmpeg.org&#47;download.html</a></li>
</ul>
<p>Now navigate to the directory containing the media file you wish to convert via your Terminal and run the following command:</p>
<pre><code>ffmpeg -i input.mp4 output.mkv
</code></pre>
<ol>
<li><code>input.mp4</code> is the initial file we wish to convert</li>
<li><code>output.mkv</code> will be the name and file type of our converted media</li>
</ol>
<p>Now you can circle back and run the previous <code>scp</code> command once you have converted your files to the desired format. Hopefully Jellyfin doesn&#8217;t complain about the formatting!</p>
<footer role="contentinfo">
    <h2>Menu Navigation</h2>
    <ul id="menu">
        <li><a href="/">Home</a></li>
        <li><a href="/projects">Projects</a></li>
        <li><a href="/uses">Uses</a></li>
        <li><a href="/wiki">Wiki</a></li>
        <li><a href="/resume">Resume</a></li>
        <li><a href="/colophon">Colophon</a></li>
        <li><a href="/now">Now</a></li>
        <li><a href="/donate">Donate</a></li>
        <li><a href="/atom.xml">RSS</a></li>
        <li><a href="#top">&uarr; Top of the page</a></li>
    </ul>
    <small>
        Built with <a href="https://barf.btxx.org">barf</a>. <br>
        Feeds: <a href="/atom.xml">Atom</a> & <a href="/rss.xml">RSS</a><br>
        Maintained with ♥ for the web. <br>
        Proud supporter of <a href="https://usefathom.com/ref/DKHJVX">Fathom</a> &amp; <a href="https://nextdns.io/?from=74d3p3h8">NextDNS</a>. <br>
        The content for this site is <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>.<br> The <a href="https://git.sr.ht/~bt/bt.ht">code for this site</a> is <a href="https://git.sr.ht/~bt/bt.ht/tree/master/item/LICENSE">MIT</a>.
    </small>
</footer>